Créer et tester des applications Java

Cette page explique comment utiliser Cloud Build pour compiler et tester basées sur Java, stockez les 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

Utiliser l'image maven

Vous pouvez configurer Cloud Build pour créer des applications Java à l'aide de la classe Image maven de Docker Hub.

Pour exécuter vos tâches dans l'image maven, spécifiez l'URL de la et sa version avec tags dans le champ name de votre build fichier de configuration. 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é dans name en utilisant le point d'entrée par défaut de l'image. Pour ignorer les point d'entrée par défaut et pour appeler maven comme point d'entrée, spécifiez mvn dans le champ entrypoint.

Le fichier de configuration de compilation suivant spécifie le entrypoint pour 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

  1. Dans le répertoire racine de votre projet, créez un fichier de configuration de compilation nommé cloudbuild.yaml.

  2. Exécuter des tests: maven fournit maven test, qui télécharge les dépendances, crée les applications et exécute tous les tests spécifiés dans votre code source. Le champ args d'une étape de compilation prend une liste d'arguments et la transmet à l'image à laquelle le champ name fait référence.

    Dans votre fichier de configuration de compilation, ajoutez test au champ args pour appeler test dans maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Empaqueter l'application : pour empaqueter votre application dans un fichier JAR pour votre image maven, spécifiez la commande package dans le champ args. La commande package 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']
    
  4. Importer dans Artifact Registry:

    Dans votre fichier de configuration de compilation, utilisez le champ mavenArtifacts pour spécifier votre chemin d'accès de l'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 l'étape de compilation.
    • group-id: identifie votre projet de manière unique parmi 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, formaté en chiffres et en points (1.0.1, par exemple).
  5. Facultatif: Activer la génération de la provenance

    Cloud Build peut générer des prédictions Compilation Niveaux de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA) des métadonnées de provenance pour vous aider à sécuriser votre pipeline d'intégration continue.

    Pour activer la génération de la provenance, ajoutez requestedVerifyOption: VERIFIED à la section options de votre fichier de configuration.

  6. Démarrer 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 des compilations et en valider la provenance.

Étape suivante