Crea e testa applicazioni Java

Questa pagina spiega come utilizzare Cloud Build per creare e testare applicazioni basate su Java, archiviare gli artefatti creati in un repository Maven in Artifact Registry e generare informazioni sulla provenienza delle build.

Prima di iniziare

Utilizzo dell'immagine maven

Puoi configurare Cloud Build per creare applicazioni Java utilizzando l'immagine maven di Docker Hub.

Per eseguire le attività nell'immagine maven, specifica l'URL dell'immagine e la versione dell'immagine con tag nel campo name del file di configurazione della build. Se non specifichi il tag immagine, Cloud Build utilizza l'immagine latest per impostazione predefinita. Cloud Build avvia l'immagine specificata in name utilizzando il punto di ingresso predefinito dell'immagine. Per eseguire l'override del punto di ingresso predefinito e richiamare maven come punto di ingresso, specifica mvn nel campo entrypoint.

Il seguente file di configurazione di compilazione specifica entrypoint per l'immagine maven e stampa la versione dello strumento di build:

          steps:
          - name: maven:3.3-jdk-8
            entrypoint: mvn
            args: ['--version']

Configurazione di Java build in corso...

  1. Nella directory root del progetto, crea un file di configurazione di compilazione denominato cloudbuild.yaml.

  2. Esegui test: maven fornisce maven test, che scarica le dipendenze, crea le applicazioni ed esegue eventuali test specificati nel codice sorgente. Il campo args di un passaggio di build accetta un elenco di argomenti e li passa all'immagine a cui fa riferimento il campo name.

    Nel file di configurazione della build, aggiungi test al campo args per richiamare test all'interno di maven:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['test']
    
  3. Applicazione del pacchetto: per pacchettizzare la tua applicazione in un file JAR per l'immagine maven, specifica il comando package nel campo args. Il comando package crea un file JAR in /workspace/target/.

    Il seguente passaggio di build pacchettizza la tua applicazione Java:

         steps:
         - name: maven:3.3-jdk-8
           entrypoint: mvn
           args: ['package','-Dmaven.test.skip=true']
    
  4. Carica in Artifact Registry:

    Nel file di configurazione della build, utilizza il campo mavenArtifacts per specificare il percorso dell'applicazione e il Repository Maven in 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'
    

    Sostituisci i seguenti valori:

    • location: la località del tuo repository in Artifact Registry.
    • project-id: l'ID del progetto Google Cloud che contiene il tuo repository Artifact Registry.
    • repository-name: il nome del tuo Repository Maven in Artifact Registry.
    • app-path: il percorso dell'applicazione in pacchetto.
    • build-artifact: il nome del file del pacchetto creato dal passaggio di build.
    • group-id: identifica in modo univoco il tuo progetto in tutti i progetti Maven, nel formato com.mycompany.app. Per ulteriori informazioni, consulta la guida di Maven alle convenzioni di denominazione.
    • version: il numero di versione dell'applicazione, formattato in numeri e punti come 1.0.1.
  5. (Facoltativo) Attiva la generazione della provenienza

    Cloud Build può generare metadati verificabili di livello della catena di fornitura per artefatti software (SLSA) verificabili per contribuire a proteggere la tua pipeline di integrazione continua.

    Per abilitare la generazione della provenienza, aggiungi requestedVerifyOption: VERIFIED alla sezione options del file di configurazione.

  6. Avvia la build: manualmente o utilizzando i trigger di build.

    Una volta completata la build, puoi visualizzare i dettagli del repository in Artifact Registry.

    Puoi anche visualizzare i metadati di provenienza della build e convalidare la provenienza.

Passaggi successivi