2016-09-13 3 views
1

Я пытаюсь использовать Team City CI для запуска тестов и публикации пакета NPM в локальный репозиторий синопии. Я установил репозиторий synopia на сервере, и я могу успешно публиковать пакеты npm в этом репозитории с помощью команды npm publish с моей локальной машины.«npm publish» не работает в Team City

Но когда я пытаюсь автоматизировать это в Team City, я получаю ошибку аутентификации, как показано ниже.

enter image description here

Team City Build шаги являются:

1. npm install 
2. npm test 
3. npm set @scoped:registry http://{host}:{port} 
    npm publish 

1, 2 шага работает нормально. Но бросая выше ошибки на 3-й шаг. Это определенно связано с аутентификацией сервера Team City с сервером Sinopia. Оба установлены на разных машинах.

Есть ли способ, которым я могу пройти auth token до sinopia перед публикацией пакета.

ПРИМЕЧАНИЕ. Я могу публиковать пакеты NPM в библиотеке Octopus Deploy и автоматически развертывать эти пакеты на сервере.

+0

Привет, вы решили это? У меня есть аналогичная проблема –

+0

@TimBailey Я добавил свой ответ. Надеюсь, поможет. – Venky

ответ

0

Я решил это, как объяснено ниже, не уверен, что есть лучший способ.

Я вошел в свой DEV-сервер и из командной строки выполнил приведенные ниже команды.

npm adduser 
typed <username> This must be admin user 
typed <password> 
typed <email> 

Пользователь успешно создан. Тогда

npm config edit 
npm configuration will open in notepad. You will see `auth` token there. 

Вы увидите что-то вроде _authToken=f04c81af-781d-4fc3-a811-4db226950b55. Затем город команды не жаловался на аутентификацию.

ПРИМЕЧАНИЕ: Вы должны сделать это на машине Team City Agent.

Надеюсь, это поможет.

Смежные вопросы