Publier des artefacts avec Gradle

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

Avec Azure Artifacts, vous pouvez gérer efficacement vos dépendances à partir d’un seul flux, en stockant différents types de packages à un seul endroit. Azure Artifacts permet aux développeurs de publier et de consommer des packages à partir de différentes sources et de les partager en fonction des paramètres de visibilité du flux. Dans cet article, vous allez apprendre à vous connecter à un flux Azure Artifacts et à publier vos packages à l’aide de Gradle.

Prérequis

Créer un jeton d’accès personnel

Pour vous authentifier auprès de votre flux, vous devez d’abord créer un jeton d’accès personnel avec l’empaquetage des étendues lecture et écriture :

  1. Connectez-vous à votre organization Azure DevOps, puis accédez à votre projet.

  2. Sélectionnez Paramètres utilisateur, puis jetons d’accès personnels.

    Capture d’écran montrant comment localiser le bouton de jeton d’accès personnel.

  3. Sélectionnez Nouveau jeton et renseignez les champs requis. Veillez à sélectionner l’étendue de lecture et d’écriture d’empaquetage.>

  4. Sélectionnez Créer lorsque vous avez terminé. Copiez votre jeton et enregistrez-le dans un emplacement sécurisé, car vous en aurez besoin pour l’étape suivante.

    Capture d’écran montrant comment créer un jeton d’accès personnel avec des étendues de lecture et d’écriture d’empaquetage.

Configuration du projet

Avant de configurer votre projet, vérifiez que Gradle est installé et que vous avez ajouté le plug-in Paramètres Maven à votre fichier build.gradle comme suit :

plugins {
  id 'maven-publish'
}

Configurer build.gradle

  1. Si un fichier build.gradle n’existe pas à la racine de votre projet, créez un fichier et nommez-le : build.gradle.

  2. Ajoutez la section suivante à votre fichier build.gradle dans les référentiels et les conteneurs publishing.repositorys :

    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)
        }
    }
    

Voici un exemple de ce à quoi doit ressembler votre fichier 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)
            }
        }
    }
}

Configurer gradle.properties

  1. Ouvrez le fichier gradle.properties situé dans le répertoire .gradle de votre dossier d’accueil (~/.gradle/gradle.properties). Si le fichier n’existe pas, créez-en un.

  2. Ajoutez l’extrait de code suivant, en remplaçant les espaces réservés par le nom de votre flux, le nom de l’organisation et le jeton d’accès personnel que vous avez créé précédemment.

    # 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]
    

Publier vos packages

  1. Exécutez la commande suivante dans votre répertoire de projet pour publier votre package dans votre flux :

    gradle publish
    

Capture d’écran montrant un package publié avec succès dans le flux.