Публикация артефактов Maven с помощью Gradle

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

В этой статье вы узнаете, как подключиться к веб-каналу Артефактов Azure и опубликовать артефакты Maven с помощью Gradle.

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

Настройка проекта

Перед настройкой проекта убедитесь, что вы установили Gradle и добавили подключаемый модуль Maven Параметры в файл build.gradle следующим образом:

plugins {
  id "net.linguica.maven-settings" version "0.5"
}

Создание личного маркера доступа

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

  2. Выберите параметры пользователя и выберите личные маркеры доступа.

    Снимок экрана: создание личного маркера доступа

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

  4. Когда все будет готово, нажмите кнопку Создать. Скопируйте маркер и сохраните его в безопасном расположении.

    Снимок экрана: создание нового личного маркера доступа с упаковкой область чтения и записи.

Настройка build.gradle

  1. Если файл build.gradle не существует в корневом каталоге проекта, создайте новый файл и назовите его: build.gradle.

  2. Добавьте следующий раздел в файл build.gradle как в репозиториях, так и в контейнерах publishing.repositories.

    maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        authentication {
            basic(BasicAuthentication)
        }
    }
    
  3. Ниже приведен пример того, как должен выглядеть файл build.gradle :

    publishing { 
        publications { 
            myPublication(MavenPublication) { 
                groupId '<GROUP_ID>' 
                artifactId '<ARTIFACT_ID>' 
                version '<VERSION_NUMBER>'           
                artifact '<PATH_TO_YOUR_JAR_FILE>'   
            } 
        } 
    
        // Repositories to publish artifacts 
        repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
        } 
    } 
    
    // Repositories to fetch dependencies
    repositories { 
            maven {
                url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'
                name '<FEED_NAME>'
                authentication {
                    basic(BasicAuthentication)
                }
            }
    } 
    

Настройка settings.xml

  1. Откройте файл settings.xml в домашнем каталоге и добавьте следующий фрагмент кода. Замените заполнители именем веб-канала, именем организации и личным маркером доступа, созданным ранее.

    <server>
        <id>[FEED_NAME]</id>
        <username>[ORGANIZATION_NAME]</username>
        <password>[PERSONAL_ACCESS_TOKEN]</password>
    </server>
    

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

Выполните следующую команду в командной строке с повышенными привилегиями, чтобы опубликовать пакет в веб-канале. Новый пакет будет назван: groupId:artifactId.

gradle publish