Поделиться через


Публикация пакетов npm с помощью Azure Pipelines (YAML/классическая модель)

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

С помощью Azure Pipelines вы можете публиковать пакеты npm в каналах Azure Artifacts в вашей организации и других организациях. В этой статье рассматривается, как публиковать пакеты npm во внутренних и внешних каналах, используя YAML и классические конвейеры.

Предварительные требования

  • Создайте организацию Azure DevOps и проект, если вы еще не сделали этого.

  • Создайте новый канал, если у вас его еще нет.

  • Если вы используете автономный агент, убедитесь, что он имеет Node.js и npm.

Публикация пакетов в веб-канале в той же организации

Примечание.

Чтобы опубликовать пакеты в канал с помощью Azure Pipelines, убедитесь, что как Служба сборки коллекции проектов, так и удостоверение Службы сборки проекта настроены в качестве Издателя канала (Вкладчика). Дополнительные сведения см. в разделе "Добавление новых пользователей и групп ".

steps:
- task: NodeTool@0
  inputs:
    checkLatest: true

- task: npmAuthenticate@0
  displayName: 'Authenticate to Azure Artifacts feed'
  inputs:
    workingFile: .npmrc

- script: |
   npm publish
  displayName: Publish

Публикация пакетов в фид другой организации

Чтобы опубликовать пакеты в канале другой организации Azure DevOps, сперва необходимо создать личный токен доступа в целевой организации.

Перейдите к организации, в которой размещен ваш целевой веб-канал, и создайте токен личного доступа с областью 'Упаковка'> с правами на чтение и запись. Скопируйте ваш личный токен доступа, поскольку он вам понадобится в следующем разделе.

Создание подключения службы

  1. Войдите в организацию Azure DevOps, в которой будет выполняться конвейер, а затем перейдите к проекту.

  2. Перейдите к настройкам проекта>подключения служб.

  3. Выберите новое подключение к службе, выберите npm и нажмите кнопку "Далее".

  4. Выберите имя пользователя и пароль в качестве метода проверки подлинности и введите URL-адрес реестра. Введите имя пользователя (заполнитель, так как Azure Pipelines будет использовать .npmrc файл конфигурации и личный маркер доступа, созданный ранее для проверки подлинности). Для пароля вставьте личный маркер доступа. Укажите имя подключения к службе и установите флажок "Предоставить доступ ко всем конвейерам".

  5. Выберите Сохранить, когда вы закончите.

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

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

  2. Выберите конвейеры и выберите определение конвейера.

  3. Нажмите кнопку "Изменить", а затем добавьте следующий фрагмент кода в конвейер YAML.

    - task: NodeTool@0
      inputs:
        checkLatest: true
    
    - task: npmAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        workingFile: .npmrc
        customEndpoint: <SERVICE_CONNECTION_NAME>
    
    - script: |
       npm publish  
      displayName: Publish