Публикация артефактов с помощью Gradle
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
С помощью Артефактов Azure вы можете эффективно управлять зависимостями из одного веб-канала, сохраняя различные типы пакетов в одном месте. Артефакты Azure позволяют разработчикам публиковать и использовать пакеты из разных источников и совместно использовать их в соответствии с параметрами видимости веб-канала. В этой статье вы узнаете, как подключиться к веб-каналу Артефактов Azure и опубликовать пакеты с помощью Gradle.
Необходимые компоненты
Создайте организацию Azure DevOps и проект, если вы еще не сделали этого.
Создайте веб-канал , если у вас еще нет.
Скачайте и установите Gradle.
Установите пакет средств разработки Java (JDK) версии 8 или более поздней.
Создание личного маркера доступа
Чтобы выполнить проверку подлинности с помощью веб-канала, необходимо сначала создать личный маркер доступа с упаковкой областей чтения и записи :
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите параметры пользователя и выберите личные маркеры доступа.
Выберите новый маркер и заполните обязательные поля. Не забудьте выбрать область чтения и записи упаковки>.
После завершения работы выберите Создать. Скопируйте маркер и сохраните его в безопасном расположении, так как вам потребуется для следующего шага.
Настройка проекта
Перед настройкой проекта убедитесь, что Gradle установлен и вы добавили подключаемый модуль параметров Maven в файл build.gradle следующим образом:
plugins {
id 'maven-publish'
}
Настройка build.gradle
Если файл build.gradle не существует в корне проекта, создайте новый файл и назовите его: build.gradle.
Добавьте следующий раздел в файл 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
Откройте файл gradle.properties, расположенный в каталоге gradle домашней папки (~/.gradle/gradle.properties). Если файл не существует, создайте его.
Добавьте следующий фрагмент кода, заменив заполнители именем веб-канала, именем организации и личным маркером доступа, созданным ранее.
# 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]
Публикация пакетов
Выполните следующую команду в каталоге проекта, чтобы опубликовать пакет в веб-канале:
gradle publish