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

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 :

  1. Inicie sesión en la organización de Azure DevOps y vaya al proyecto.

  2. Seleccione Configuración de usuario y, a continuación, seleccione Tokens de acceso personal.

    Captura de pantalla que muestra cómo localizar el botón de token de acceso personal.

  3. Seleccione Nuevo token y rellene los campos obligatorios. Asegúrese de seleccionar el ámbito de lectura y escritura de empaquetado>.

  4. Seleccione Crear cuando haya terminado. Copie el token y guárdelo en una ubicación segura, ya que lo necesitará para el paso siguiente.

    Captura de pantalla que muestra cómo crear un nuevo token de acceso personal con el empaquetado de ámbitos de lectura y escritura.

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

  1. Si un archivo build.gradle no existe en la raíz del proyecto, cree un nuevo archivo y asígnelo el nombre: build.gradle.

  2. 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

  1. 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.

  2. 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

  1. Ejecute el siguiente comando en el directorio del proyecto para publicar el paquete en la fuente:

    gradle publish
    

Captura de pantalla que muestra un paquete publicado correctamente en la fuente.