Générer et publier des artefacts avec Gradle et Azure Pipelines

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

Gradle est un outil de génération populaire pour les applications Java et l’outil de génération principal pour Android. À l’aide d’Azure Pipelines, nous pouvons ajouter la tâche gradle à notre définition de build et générer et publier nos artefacts de build.

Prérequis

Pour vous assurer que tous les prérequis sont configurés, exécutez la commande suivante dans une invite de commandes avec élévation de privilèges pour case activée la version de Java installée sur votre ordinateur.

java -version

Si la commande ci-dessus ne retourne pas de version java, veillez à revenir en arrière et à installer d’abord le JDK ou JRE Java.

Pour confirmer l’installation de Gradle, exécutez la commande suivante dans une invite de commandes avec élévation de privilèges :

gradle -v

Configurer l’authentification

  1. Sélectionnez Paramètres utilisateur, puis Jetons d’accès personnels

    Capture d’écran montrant comment créer un jeton d’accès personnel

  2. Sélectionnez Nouveau jeton, puis remplissez les champs obligatoires. Veillez à sélectionner la portée Création de package>Lecture et écriture.

    Capture d’écran montrant comment créer un nouveau jeton d’accès personnel.

  3. Sélectionnez Créer lorsque vous avez terminé.

  1. Copiez votre jeton et enregistrez-le dans un endroit sécurisé.

  2. Créez un fichier dans votre dossier .gradle et nommez-le gradle.properties. Le chemin d’accès à votre dossier gradle se trouve généralement dans %INSTALLPATH%/gradle/user/home/.gradle/.

  3. Ouvrez le fichier gradle.properties avec un éditeur de texte et ajoutez l’extrait de code suivant :

    vstsMavenAccessToken=<PASTE_YOUR_PERSONAL_ACCESS_TOKEN_HERE>
    
  4. Enregistrez votre fichier une fois que vous avez terminé.

Créer des projets avec l’interface de ligne de commande Gradle

  1. Ouvrez votre fichier build.gradle et assurez-vous qu’il commence par les éléments suivants :

    apply plugin: 'java'
    
  2. Ajoutez l’extrait de code suivant à votre fichier build.gradle pour télécharger votre artefact pendant la génération. Remplacez les espaces réservés par votre groupID, artifactID et versionNumber. Par exemple : 'compile(group: 'siteOps', name: 'odata-wrappers', version: '1.0.0.0')

    dependencies { 
        compile(group: '<YOUR_GROUP_ID>', name: '<ARTIFACT_ID>', version: '<VERSION_NUMBER>')  
    } 
    

Pour tester cela, nous pouvons créer un exemple d’application console Java et la générer avec Gradle.

public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello, world!"); 
    } 
} 

Exécutez la commande suivante pour générer votre projet. La sortie de votre génération doit retourner : BUILD SUCCESSFUL

gradle build

Utiliser Gradle dans Azure Pipelines

  1. Exécutez la commande suivante pour créer le wrapper gradlew.

    gradle wrapper
    
  2. Envoyez vos modifications à votre branche distante. Nous aurons besoin de ce fichier ultérieurement lorsque nous ajouterons la tâche Gradle.

  3. Accédez à votre définition de pipeline. Si vous n’en avez pas, créez un pipeline, sélectionnez Utiliser l’éditeur classique, puis sélectionnez le modèle Gradle.

    Capture d’écran montrant comment utiliser le modèle de pipeline Gradle

  4. Vous pouvez utiliser les paramètres par défaut avec la tâche de génération gradlew.

    Capture d’écran montrant la tâche Gradle

  5. La tâche Publier les artefacts de build publie notre artefact dans Azure Pipelines.

    Capture d’écran montrant la tâche de publication des artefacts.

  6. Sélectionnez Enregistrer et mettre en file d’attente lorsque vous avez terminé.

  7. Vous pouvez afficher votre artefact publié dans le résumé de votre pipeline une fois l’exécution terminée.

    Capture d’écran montrant l’artefact publié dans le résumé du pipeline.