Публикация и скачивание пакетов npm с помощью Артефактов Azure

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Azure Artifacts позволяет разработчикам публиковать и скачивать пакеты npm из веб-каналов или общедоступных реестров.

В этой статье описано, как создать веб-канал, настроить проект и опубликовать и скачать пакеты npm.

Необходимые компоненты

Создание веб-канала

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

  3. Введите имя для вашего веб-канала.

  4. Выберите настройку Видимость, чтобы управлять тем, кто может просматривать пакеты в ленте.

  5. Выберите Включить пакеты из общих публичных источников, если вы хотите, чтобы ваш канал использовал вышестоящие пакеты из таких источников, как nuget.org или npmjs.com.

  6. Для Области выберите, относится ли канал к текущему проекту или ко всей организации.

  7. После завершения работы выберите Создать.

    Снимок экрана с вариантами создания нового канала в Azure DevOps Services.

  1. Войдите на сервер Azure DevOps и перейдите в проект.

  2. Выберите артефакты и нажмите кнопку "Создать веб-канал".

  3. Введите имя для вашего веб-канала.

  4. Выберите настройку Видимость, чтобы управлять тем, кто может просматривать пакеты в ленте.

  5. Выберите Включить пакеты из общих публичных источников, если вы хотите, чтобы ваш канал использовал вышестоящие пакеты из таких источников, как nuget.org или npmjs.com.

  6. Для Области выберите, относится ли канал к текущему проекту или ко всей организации.

  1. После завершения работы выберите Создать.

    Снимок экрана с параметрами для создания нового канала в Azure DevOps 2022.

Примечание.

При создании канала учетной записи проекта Build Service, например projectName Build Service (orgName), по умолчанию назначается роль читателя канала и вышестоящих источников (участник).

Настройка проверки подлинности npm

Перед подключением к каналу настройте аутентификацию для клиента npm на вашем компьютере. Действия различаются в зависимости от операционной системы:

Windows

Установите vsts-npm-auth, который создает и обновляет учетные данные, используемые npm для подключения к каналу Azure Artifacts.

npm install -g vsts-npm-auth --registry https://registry.npmjs.com

macOS и Linux

vsts-npm-auth не поддерживается в macOS или Linux. Вместо этого создайте личный маркер доступа (PAT) с Пакеты> областью действия. Используйте этот PAT при настройке NPMRC-файла на уровне пользователя в следующем разделе.


Подключение к веб-каналу

Azure Artifacts рекомендует использовать два отдельных файла конфигурации. Первое должно храниться локально в каталоге $HOME (Linux/macOS) или $env. HOME (Windows) для безопасного хранения учетных данных. Это позволяет клиенту npm получить доступ к учетным данным для проверки подлинности.

При такой настройке вы можете делиться конфигурацией проекта с командой, не раскрывая учетные данные в системе контроля версий. Дополнительные сведения см. в разделе "Подключение к каналу Azure Artifacts - npm".

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.

  3. Выберите npm в области навигации слева.

  4. В разделе Настройка проекта выберите Windows или Другое в качестве операционной системы, а затем следуйте приведённым инструкциям по обновлению файлов .npmrc на уровне пользователя и проекта.

    Снимок экрана: настройка проекта npm и подключение к веб-каналу в службах Azure DevOps.

Примечание.

В Azure DevOps Server не поддерживается vsts-npm-auth.

  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.

  3. Выберите npm в области навигации слева.

  4. В разделе Настройка проекта выберите Windows или Другое в качестве своей операционной системы, а затем следуйте приведённым инструкциям, чтобы обновить файлы .npmrc пользовательского уровня и уровня проекта.

    Снимок экрана: настройка проекта npm и подключение к веб-каналу Azure Artifacts в Azure DevOps Server 2022 г.

Внимание

npm поддерживает только один registry параметр в NPMRC-файле . Если вам нужны пакеты из нескольких источников, используйте вышестоящие источники или области видимости вместо добавления нескольких записей registry.

Публикация пакетов в веб-канале

Примечание.

Чтобы опубликовать пакеты в канале, необходимо быть издателем канала (контрибьютором) или выше. Дополнительные сведения см. в статье "Управление разрешениями ".

Перед публикацией пакетов убедитесь, что вы прошли аутентификацию в своем канале. Если вы еще этого не сделали, выполните действия, описанные в разделе "Подключение к веб-каналу ", а затем перейдите к инструкциям в следующем разделе.

  1. В каталоге проекта выполните следующую команду, чтобы опубликовать пакет, определённый в файле package.json, в ваш канал:

    npm publish
    

Внимание

publishConfig Использование свойства для переопределения конфигурации реестра во время публикации не поддерживается.

Восстановите пакеты из канала

Перед восстановлением пакетов убедитесь, что вы авторизовались в своем канале и обновили файлы .npmrc для вашего проекта. Если вы еще этого не сделали, выполните действия, описанные в разделе Подключение к каналу, а затем продолжите.

  1. В каталоге проекта выполните следующую команду, чтобы восстановить все пакеты, перечисленные в package.json файле:

    npm install
    
  2. Чтобы установить конкретный пакет из источника и добавить его как зависимость в файл package.json, выполните следующую команду:

    npm install --save <PACKAGE_NAME>