Cette page explique comment utiliser Cloud Build pour créer et tester des applications Java, stocker des artefacts compilés dans un dépôt Maven d'Artifact Registry et générer des informations de provenance de compilation.
Avant de commencer
- Familiarisez-vous avec la création d'applications Java.
- Familiarisez-vous avec 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
gcloud
sur cette page, installez la Google Cloud CLI.
Utiliser l'image maven
Vous pouvez configurer Cloud Build pour créer des applications Java à l'aide de l'image maven
de Docker Hub.
Pour exécuter vos tâches dans l'image maven
, spécifiez l'URL de l'image et sa version avec tag dans le champ name
de votre fichier de configuration de compilation. Si vous ne spécifiez pas de tag d'image, Cloud Build utilise l'image latest
par défaut. Cloud Build démarre l'image spécifiée dans name
en utilisant le point d'entrée par défaut de l'image. Pour remplacer le point d'entrée par défaut et appeler maven
en tant que point d'entrée, spécifiez mvn
dans le champ entrypoint
.
Le fichier de configuration de compilation suivant spécifie la entrypoint
de l'image maven
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:
maven
fournitmaven 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 champargs
d'une étape de compilation prend une liste d'arguments et la transmet à l'image référencée par le champname
.Dans le fichier de configuration de compilation, ajoutez
test
au champargs
pour appelertest
dansmaven
: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 commandepackage
dans le champargs
. La commandepackage
gé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 :
Cloud Build génère des informations sur la provenance de compilation du niveau de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA) pour les packages Maven autonomes lorsque vous importez des artefacts dans Artifact Registry à l'aide du champ
mavenArtifacts
de votre fichier de configuration Cloud Build.Dans le fichier de configuration de compilation, utilisez le champ
mavenArtifacts
pour spécifier le chemin d'accès au fichier de 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 projet Google Cloud 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 à l'application empaquetée.
- build-artifact: nom du fichier de package créé à partir de votre é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 de nommage. - version: numéro de version de votre application, formaté par des nombres et des points, comme
1.0.1
.
Facultatif: Activer la provenance pour les builds régionaux
Si vous utilisez une compilation régionale, ajoutez le champ
requestedVerifyOption
dans leoptions
de votre fichier de configuration de compilation. Définissez la valeur surVERIFIED
pour permettre la génération des métadonnées de provenance. Si vous n'ajoutez pasrequestedVerifyOption: VERIFIED
, Cloud Build ne génère la provenance que pour les builds mondiaux.options: requestedVerifyOption: VERIFIED
Démarrer la 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 de la compilation et valider la provenance pour protéger votre chaîne d'approvisionnement logicielle.
Étapes suivantes
- 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.