Publicación de artefactos con Gradle
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Con Azure Artifacts, puede administrar eficazmente las dependencias desde una sola fuente, almacenando varios tipos de paquetes en un solo lugar. Azure Artifacts permite a los desarrolladores publicar y consumir paquetes de diferentes orígenes y compartirlos según la configuración de visibilidad de la fuente. En este artículo, aprenderá a conectarse a una fuente de Azure Artifacts y a publicar los paquetes mediante Gradle.
Requisitos previos
Cree una organización de Azure DevOps y un proyecto si aún no lo ha hecho.
Cree una fuente si aún no tiene una.
Descargue e instale Gradle.
Instale la versión 8 o posterior del Kit de desarrollo de Java (JDK ).
Crear un token de acceso personal
Para autenticarse con su fuente, primero debe crear un token de acceso personal con el empaquetado de ámbitos de lectura y escritura :
Inicie sesión en la organización de Azure DevOps y vaya al proyecto.
Seleccione Configuración de usuario y, a continuación, seleccione Tokens de acceso personal.
Seleccione Nuevo token y rellene los campos obligatorios. Asegúrese de seleccionar el ámbito de lectura y escritura de empaquetado>.
Seleccione Crear cuando haya terminado. Copie el token y guárdelo en una ubicación segura, ya que lo necesitará para el paso siguiente.
Configuración del proyecto
Antes de configurar el proyecto, asegúrese de que Gradle está instalado y de que ha agregado el complemento Maven Settings al archivo build.gradle de la siguiente manera:
plugins {
id 'maven-publish'
}
Configuración de build.gradle
Si un archivo build.gradle no existe en la raíz del proyecto, cree un nuevo archivo y asígnelo el nombre: build.gradle.
Agregue la siguiente sección al archivo build.gradle tanto en los repositorios como en los contenedores 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) } }
Este es un ejemplo del aspecto que debe tener el archivo 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)
}
}
}
}
Configuración de gradle.properties
Abra el archivo gradle.properties ubicado en el directorio .gradle de la carpeta principal (~/.gradle/gradle.properties). Si el archivo no existe, cree uno nuevo.
Agregue el siguiente fragmento de código, reemplazando los marcadores de posición por el nombre de fuente, el nombre de la organización y el token de acceso personal que creó anteriormente.
# 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]
Publicación de los paquetes
Ejecute el siguiente comando en el directorio del proyecto para publicar el paquete en la fuente:
gradle publish