Нужно ли использовать Azure Артефакты для доступа к частным NPM пакетам? - PullRequest
0 голосов
/ 06 марта 2020

У нас есть проект JS внешнего интерфейса, который использует несколько опубликованных c и частных пакетов, все из которых указывают на репозитории NPM. Наши текущие конвейеры сборки основаны на AWS, и для получения приватных пакетов мы просто добавляем .npmrc файл с соответствующим токеном во время сборки, затем npm install (или фактически yarn install), как обычно. Это прекрасно работает, так как локальные разработчики продолжают указывать на NPM как стандартная установка, а закрытые ключи доступа управляются либо на уровне разработчика, либо на уровне сборки с различными разрешениями.

При оценке Azure DevOps Конвейеры, мы хотим сделать то же самое, но все последние инструкции, похоже, требуют создания Azure Артефактов для NPM и дополнительного использования этого зеркала локально для разработки. Это кажется излишним для чего-то, что уже имеет установленный образец. Идет по этому пути, запустив vsts-npm-auth, et c., Все необходимое для загрузки требуемых зависимостей, или мы можем просто придерживаться установки, аналогичной той, которая у нас есть, вставить файл .npmrc во время сборки и установить в любом случае?

1 Ответ

1 голос
/ 09 марта 2020

Нужно ли использовать Azure Артефакты для доступа к частным NPM пакетам?

Нам не нужно использовать Azure Артефакты для хранения частных пакетов, но это рекомендуемый способ.

Мы можем использовать Azure Фид Artifacts для хранения частных пакетов и использовать эти пакеты в конвейере сборки, используя задачу npm. И если мы настроим npmjs.org как publi c upstream source , мы сможем легко использовать как частные, так и публичные c пакеты.

Но если вы используете сторонние пакеты Репозитории вместо Azure Артефакты для хранения частных пакетов, задача аутентификации Npm / Npm позволяет нам использовать пакеты из них. См. this :

Если ваш .npmrc содержит Azure реестры артефактов из другой организации или использует стороннее хранилище аутентифицированных пакетов, вам нужно настроить npm служебные соединения и укажите их на входе customEndpoint.

...