Skip to main content

Génération et test de code Java avec Ant

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

Introduction

Ce guide explique comment crĂ©er un workflow qui effectue une intĂ©gration continue (CI) pour votre projet Java Ă  l’aide du systĂšme de gĂ©nĂ©ration Ant. Le workflow que vous crĂ©ez vous permet de voir Ă  quel moment les commits de demande de tirage (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 pour charger des artefacts Ă  partir d’une exĂ©cution de workflow.

Les exĂ©cuteurs hĂ©bergĂ©s dans GitHub ont un cache d’outils oĂč sont prĂ©installĂ©s des logiciels, notamment les Java Development Kits (JDK) et Ant. Pour obtenir la liste des logiciels et des versions prĂ©installĂ©es de JDK et d’ANT, consultez « ExĂ©cuteurs hĂ©bergĂ©s par GitHub Â».

Prérequis

Vous devez ĂȘtre familiarisĂ© avec YAML et la syntaxe GitHub Actions. Pour plus d’informations, consultez l’article suivant :

Il est recommandĂ© d’avoir une comprĂ©hension de base de Java et du framework Ant. Pour plus d’informations, consultez le manuel Apache Ant.

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 workflow pour Ant qui devrait fonctionner pour la plupart des projets Java avec Ant. Les sections suivantes de ce guide donnent des exemples de la maniĂšre dont vous pouvez personnaliser ce modĂšle de workflow.

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre dépÎt, cliquez sur Actions.

    Capture d’écran des onglets du rĂ©fĂ©rentiel « github/docs Â». L’onglet « Actions Â» est mis en surbrillance avec un encadrĂ© orange.

  3. Si vous disposez dĂ©jĂ  d’un workflow dans votre dĂ©pĂŽt, cliquez sur Nouveau workflow.

  4. La page « Choisir un workflow Â» prĂ©sente une sĂ©lection de modĂšles de workflow recommandĂ©s. Recherchez « Java avec Ant Â».

  5. Dans le flux de travail « Java avec Ant Â», cliquez sur Configurer.

  6. Modifiez le workflow en fonction des besoins. Par exemple, changez la version de Java.

  7. Cliquez sur Valider les changements.

Le fichier de workflow ant.yml est ajoutĂ© Ă  l’annuaire .github/workflows de votre rĂ©fĂ©rentiel.

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@v4
  - 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@v4
  - 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 Ă©tĂ© gĂ©nĂ©rĂ©e et que vos tests ont rĂ©ussi, vous pouvez charger les packages Java rĂ©sultants en tant qu’artefacts 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 des demandes de tirage dans votre environnement local avant qu’elles ne soient fusionnĂ©es. 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@v4
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'

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