Cette page explique comment utiliser Cloud Build pour compiler et tester des applications Java, stocker des artefacts créés dans un dépôt Maven dans Artifact Registry et générer des informations sur la provenance de la compilation.
Avant de commencer
- Familiarisez-vous avec la création d'applications Java.
- Vous devez connaître Maven.
- Préparez votre projet Java.
- Familiarisez-vous avec la rédaction d'un fichier de configuration Cloud Build.
- disposer d'un dépôt Maven dans Artifact Registry ; Si vous n'en avez pas, créez un dépôt.
- Pour exécuter les commandes gcloudsur cette page, installez Google Cloud CLI.
Utiliser l'image maven
Vous pouvez configurer Cloud Build pour qu'il compile les applications Java à l'aide de l'image maven de Docker Hub.
Pour exécuter vos tâches dans l'image maven, ajoutez une étape à votre configuration de compilation avec les champs suivants:
- name: définissez la valeur de ce champ sur- mavenou- maven:<tag>, où le tag représente la version. Si vous ne spécifiez pas le tag d'image, Cloud Build utilise par défaut l'image- latest.
- entrypoint: la définition de ce champ remplace le point d'entrée par défaut de l'image référencée dans- name. Définissez la valeur de ce champ sur- mvnpour appeler- mvnen tant que point d'entrée de l'étape de compilation et exécuter les commandes- mvn.
- args: Le champ- argsd'une étape de compilation prend une liste d'arguments et la transmet à l'image à laquelle le champ- namefait référence.
L'étape de compilation suivante spécifie le entrypoint de l'image maven taguée comme 3.3-jdk-8 et affiche la version de l'outil de compilation:
          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']
Configurer les compilations Java
- Dans le répertoire racine de votre projet, créez un fichier de configuration de compilation nommé - cloudbuild.yaml.
- Exécuter des tests: - mavenfournit- maven test, qui télécharge les dépendances, compile les applications et exécute tous les tests spécifiés dans votre code source. Le champ- argsd'une étape de compilation prend une liste d'arguments et la transmet à l'image à laquelle le champ- namefait référence.- Dans votre fichier de configuration de compilation, ajoutez - testau champ- argspour appeler- testdans- maven:- steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
- Empaqueter l'application : pour empaqueter votre application dans un fichier JAR pour votre image - maven, spécifiez la commande- packagedans le champ- args. La commande- packagegénère un fichier JAR dans- /workspace/target/.- L'étape de compilation suivante permet d'empaqueter votre application Java : - steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
- Importer dans Artifact Registry: - Dans votre fichier de configuration de compilation, utilisez le champ - mavenArtifactspour spécifier le chemin d'accès à votre application et votre dépôt Maven dans Artifact Registry:- artifacts: mavenArtifacts: - repository: 'https://location-maven.pkg.dev/project-id/repository-name' path: 'app-path' artifactId: 'build-artifact' groupId: 'group-id' version: 'version'- Remplacez les valeurs suivantes : - location: emplacement de votre dépôt dans Artifact Registry.
- project-id: ID du Google Cloud projet contenant votre dépôt Artifact Registry.
- repository-name: nom de votre dépôt Maven dans Artifact Registry.
- app-path: chemin d'accès à votre application empaquetée.
- build-artifact: nom du fichier de package créé à partir de l'étape de compilation.
- group-id: identifie de manière unique votre projet dans tous les projets Maven, au format com.mycompany.app. Pour en savoir plus, consultez le guide Maven sur les conventions d'attribution de noms.
- version: numéro de version de votre application, mis en forme avec des chiffres et des points, comme 1.0.1.
 
- Facultatif: Activer la génération de provenance - Cloud Build peut générer des métadonnées de provenance de compilation SLSA (Supply chain Levels for Software Artifacts) vérifiables pour vous aider à sécuriser votre pipeline d'intégration continue. - Pour activer la génération de provenance, ajoutez - requestedVerifyOption: VERIFIEDà la section- optionsde votre fichier de configuration.
- Démarrez votre compilation: manuellement ou à l'aide de déclencheurs de compilation. - Une fois la compilation terminée, vous pouvez afficher les détails du dépôt dans Artifact Registry. - Vous pouvez également afficher les métadonnées de provenance du build et valider la provenance. 
Étape suivante
- Découvrez comment afficher les résultats de la compilation.
- Découvrez comment protéger les builds.
- Découvrez comment effectuer des déploiements bleu-vert sur Compute Engine.
- Découvrez comment créer et conteneuriser des applications Java.
- Découvrez comment déployer une application sur Cloud Run.
- Découvrez comment déployer une application sur GKE.
- Découvrez comment résoudre les erreurs de compilation.