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

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

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

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

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

Чтобы выполнить проверку подлинности с помощью веб-канала, необходимо сначала создать личный маркер доступа с упаковкой областей чтения и записи :

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

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

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

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

  4. После завершения работы выберите Создать. Скопируйте маркер и сохраните его в безопасном расположении, так как вам потребуется для следующего шага.

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

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

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

plugins {
  id 'maven-publish'
}

Настройка 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'            //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
        }
    }
    

Ниже приведен пример того, как должен выглядеть файл build.gradle :

repositories {
    mavenCentral()

    maven {
    url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'                //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
    name '<FEED_NAME>'
    credentials(PasswordCredentials)
    authentication {
        basic(BasicAuthentication)
        }
    }
}

publishing {
    publications {
        library(MavenPublication) {
            from components.java
        }
    }

    repositories {
        maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1'           //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
        name '<FEED_NAME>'
        credentials(PasswordCredentials)
        authentication {
            basic(BasicAuthentication)
            }
        }
    }
}

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

  1. Откройте файл gradle.properties, расположенный в каталоге gradle домашней папки (~/.gradle/gradle.properties). Если файл не существует, создайте его.

  2. Добавьте следующий фрагмент кода, заменив заполнители именем веб-канала, именем организации и личным маркером доступа, созданным ранее.

    # Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle.
    # The value of the username is arbitrary but should not be blank.
    [FEED_NAME]Username=[ORGANIZATION_NAME]
    [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
    

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

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

    gradle publish
    

Снимок экрана: успешно опубликованный в веб-канале пакет.