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


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

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

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

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

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

Примечание.

Чтобы опубликовать пакеты в веб-канале с помощью 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