Как использовать частный канал пакетов npm в visual studio team services для управления сборкой и выпуском
Я начал usign частный канал npm на моей учетной записи Visual studio team services, следуя их руководству и добавив.файл npmrc
registry=https://ascend-xyz.pkgs.visualstudio.com/_packaging/AscendNPMFeed/npm/registry
always-auth=true
проблема в том, что конвейер сборки не работает сейчас, так как он требует некоторых пакетов из этого частного пакета.
какова правильная настройка для указания npm, что он может аутентифицироваться с помощью маркера доступа сборки в visual studio team services?
Мне нужно установить переменную среды, вызвать npm login или что-то в качестве шага сборки?
1 ответов
обновление после некоторого интенсивного тестирования на наших сборках, для тех, у кого есть проблемы с этим, и в отношении исходного вопроса:
- Edit build definition => options = > "разрешить скриптам доступ к токену клятвы"
когда включено, и VSTS встречает a .файл npmrc, он будет запускать команду npm
vsts-npm-auth
для вас, что означает .npmrc в системе управления версиями только должны contain
registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true
это относится к сборкам, которые используют задачу VSTS Npm, будь то publish
или install
Учитывая, что вы установили переменную окружения NPM_TOKEN для сборки VSTS, которая работает,npm publish
команда может заменить это в вашем .файл npmrc.
http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules
так что ваши .npmrc, который вы проверяете в источнике управление должно выглядеть как
registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true
//YOUR_DOMAIN.pkgs.visualstudio.com/_packaging//npm/:_authToken=${NPM_TOKEN}
маркер может быть получен либо с помощью команды VSTS-npm-auth https://www.npmjs.com/package/vsts-npm-auth
обратите внимание, что в windows ему иногда нужны полные пути как для целевых, так и для исходных rc-файлов (где-T: write-token-to-this-target-file), e.g
vsts-npm-auth-config c:\mysrc\.npmrc-T c:\mysrc\.npmrc-V подробно
или он может быть сгенерирован в диалоговом окне "подключение к каналу" внутри вашей учетной записи (веб-интерфейс) VSTS в разделе "упаковка".
также обратите внимание, что, если вы хотите опубликовать это автоматически и непрерывно, вы также должны найти способ увеличить номер версии, что-то вроде
npm version patch --force -m "Published new version"
взгляните на эту тему для получения дополнительной информации пакета обновления.версия json автоматически
VSTS делает ли checkout HEAD commit id по умолчанию, так что это не прямо вперед, чтобы просто запустить npm version
command и push обратно в git, так как один находится в состоянии отсоединения.