Skip to main content

Génération et test de Java avec Ant

Découvrez comment créer un flux de travail d’intégration continue (CI) dans GitHub Actions pour générer et tester votre projet de Java avec Ant.

Remarque

Les exécuteurs hébergés sur GitHub ne sont pas pris en charge sur GitHub Enterprise Server.

Introduction

Ce guide vous montre comment créer un flux de travail qui effectue une intégration continue (CI) pour votre projet de Java à l’aide du système de génération Ant. Le workflow que vous créez vous permet de voir quand les commits de pull request entraînent des échecs de build ou de test dans votre branche par défaut. Cette approche peut vous aider à garantir l’intégrité de votre code. Vous pouvez étendre votre workflow d’intégration continue afin de permettre l'upload d'artefacts depuis une exécution de workflow.

. Pour plus d’informations, consultez l’article suivant : * Syntaxe de flux de travail pour GitHub Actions * Écriture de workflows

Nous vous recommandons d’avoir une compréhension de base des Java et du framework Ant. Pour plus d’informations, consultez le manuel Apache Ant.

Utilisation d’exécuteurs auto-hébergés sur GitHub Enterprise Server

Quand vous utilisez des actions de configuration (comme actions/setup-LANGUAGE) sur GitHub Enterprise Server avec des exécuteurs auto-hébergés, vous pouvez être amené à configurer le cache des outils sur les exécuteurs qui n’ont pas accès à Internet. Pour plus d’informations, consultez « Configuration du cache d’outils sur les exécuteurs auto-hébergés sans accès à Internet ».

Utilisation d’un modèle de workflow Ant

Pour démarrer rapidement, ajoutez un modèle de workflow au répertoire .github/workflows de votre référentiel.

GitHub fournit un modèle de flux de travail pour Ant qui doit fonctionner pour la plupart des Java avec des projets Ant. Les sections suivantes de ce guide donnent des exemples de la manière dont vous pouvez personnaliser ce modèle de workflow.

  1. Si vous disposez déjà d’un workflow dans votre dépôt, cliquez sur Nouveau workflow.

  2. La page « Choisir un workflow » présente une sélection de modèles de workflow recommandés. Recherchez « Java avec Ant ».

  3. Dans le flux de travail « Java with Ant », cliquez sur Configure.

    Si vous ne trouvez pas le modèle de flux de travail « Java with Ant », copiez le code de flux de travail suivant dans un nouveau fichier appelé ant.yml dans le répertoire .github/workflows de votre référentiel.

    YAML
    name: Java CI
    
    on:
      push:
        branches: [ $default-branch ]
      pull_request:
        branches: [ $default-branch ]
    
    jobs:
      build:
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@v5
        - name: Set up JDK 11
          uses: actions/setup-java@v4
          with:
            java-version: '11'
            distribution: 'temurin'
        - name: Build with Ant
          run: ant -noinput -buildfile build.xml
    
  4. Modifiez le workflow en fonction des besoins. Par exemple, modifiez la version de Java.

  5. Cliquez sur Commiter les changements.

Spécification de la version et de l’architecture de Java

Le modèle de workflow configure le PATH pour qu’il contienne OpenJDK 8 pour la plateforme x64. Si vous souhaitez utiliser une autre version de Java ou cibler une architecture différente (x64 ou x86), vous pouvez utiliser l’action setup-java pour choisir un autre environnement d’exécution Java.

Par exemple, pour utiliser la version 11 du JDK fourni par Adoptium pour la plateforme x64, vous pouvez utiliser l’action setup-java et configurer les paramètres java-version, distribution et architecture sur '11', 'temurin' et x64.

YAML
steps:
  - uses: actions/checkout@v5
  - name: Set up JDK 11 for x64
    uses: actions/setup-java@v4
    with:
      java-version: '11'
      distribution: 'temurin'
      architecture: x64

Pour plus d’informations, consultez l’action setup-java.

Génération et test de votre code

Vous pouvez utiliser les mêmes commandes que celles que vous utilisez localement pour générer et tester votre code.

Le modèle de flux de travail exécutera la cible par défaut spécifiée dans votre build.xml fichier. Votre cible par défaut est généralement définie pour générer des classes, exécuter des tests et empaqueter les classes dans leur format distribuable, par exemple sous forme de fichier JAR.

Si vous utilisez différentes commandes pour générer votre projet ou si vous souhaitez exécuter une autre cible, vous pouvez les spécifier. Par exemple, vous pouvez exécuter la cible jar qui est configurée dans un fichier build-ci.xml.

YAML
steps:
  - uses: actions/checkout@v5
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'
  - name: Run the Ant jar target
    run: ant -noinput -buildfile build-ci.xml jar

Empaquetage des données de workflow en tant qu’artefacts

Une fois que votre build a réussi et que vos tests ont réussi, vous pouvez charger les packages de Java résultants en tant qu’artefact de build. Cela stockera les packages générés dans le cadre de l’exécution du workflow et vous permettra de les télécharger. Les artefacts peuvent vous aider à tester et à déboguer les pull requests dans votre environnement local avant la fusion. Pour plus d’informations, consultez « Stocker et partager des données avec les artefacts de workflow ».

Ant crée généralement des fichiers de sortie comme les fichiers JAR, EAR ou WAR dans le répertoire build/jar. Vous pouvez charger le contenu de ce répertoire à l’aide de l’action upload-artifact.

YAML
steps:
  - uses: actions/checkout@v5
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'

  - run: ant -noinput -buildfile build.xml
  - uses: actions/upload-artifact@v3
    with:
      name: Package
      path: build/jar