Публикация артефактов Maven с помощью Azure Pipelines (YAML/Classic)

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

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

Пререквизиты

Продукт Требования
Azure DevOps организация Azure DevOps и проект.
— канал Azure Artifacts .
рабочий конвейер.
- Разрешения:
    — Чтобы предоставить доступ ко всем конвейерам в проекте, необходимо быть членом группы администраторов проектов.
    — Для создания подключений к службе необходимо иметь роль администратора или создателя для подключений служб .

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

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

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        artifactsFeeds: 'MavenDemo,MavenDemoFeed2'        ## Select one or multiple feeds to authenticate with.
    - script: |
       mvn deploy
      displayName: 'Publish'
    

Примечание.

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

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

Чтобы опубликовать пакеты в веб-канале другой организации Azure DevOps, сначала необходимо создать личный маркер доступа (PAT) в целевой организации, а затем использовать его для создания подключения к службе и проверки подлинности с помощью целевого веб-канала.

Создайте личный токен доступа

  1. Перейдите в организацию, в которой размещен целевой канал.

  2. Создайте личный токен доступа с областью Упаковка>чтение и запись.

  3. Скопируйте свой личный токен доступа, так как он вам понадобится в следующем разделе.

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

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

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

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

  4. Для метода проверки подлинности выберите имя пользователя и пароль. Введите URL-адрес репозитория и идентификатор репозитория.

  5. В поле "Имя пользователя " введите любое строковое значение (это необходимо, но Azure Pipelines будет использовать pom.xml вашу конфигурацию и личный маркер доступа, созданный ранее для проверки подлинности).

    • Для пароля вставьте созданный ранее личный маркер доступа.
    • Укажите имя подключения к службе.
    • Установите флажок "Предоставить доступ ко всем конвейерам ".
  6. Выберите Сохранить, когда вы закончите.

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

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

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

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

    steps:
    - task: MavenAuthenticate@0
      displayName: 'Authenticate to Azure Artifacts feed'
      inputs:
        MavenServiceConnections: <NAME_OF_YOUR_SERVICE_CONNECTION> 
    
    - script: |
       mvn deploy
      displayName: 'Publish'