Questa pagina spiega come utilizzare Cloud Build per compilare e testare applicazioni basate su Java, archiviare gli artefatti compilati in un repository Maven in Artifact Registry e generare informazioni sull'origine della compilazione.
Prima di iniziare
- Devi conoscere la creazione di applicazioni basate su Java.
- Devi conoscere Maven
- Prepara il tuo progetto Java.
- Devi conoscere come scrivere un file di configurazione di Cloud Build.
- Avere un repository Maven in Artifact Registry. Se non ne hai uno, crea un nuovo repository.
- Per eseguire i comandi
gcloud
in questa pagina, installa Google Cloud CLI.
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
, aggiungi un passaggio alla configurazione di compilazione con i seguenti campi:
name
: imposta il valore di questo campo sumaven
omaven:<tag>
, dove il tag rappresenta la versione. Se non specifichi il tag immagine, Cloud Build utilizza per impostazione predefinita l'immaginelatest
.entrypoint
: l'impostazione di questo campo sostituisce il punto di contatto predefinito dell'immagine a cui si fa riferimento inname
. Imposta il valore di questo campo sumvn
per invocaremvn
come punto di contatto del passaggio di compilazione ed eseguire i comandimvn
.args
: il campoargs
di un passaggio di compilazione prende un elenco di argomenti e li passa all'immagine a cui fa riferimento il camponame
.
Il seguente passaggio di compilazione specifica il entrypoint
per l'immagine maven
taggata come 3.3-jdk-8
e stampa la versione dello strumento di compilazione:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Configurazione delle build di Java
Nella directory principale del progetto, crea un file di configurazione della build denominato
cloudbuild.yaml
.Esegui test:
maven
forniscemaven test
, che scarica le dipendenze, compila le applicazioni ed esegue tutti i test specificati nel codice sorgente. Il campoargs
di un passaggio di compilazione prende un elenco di argomenti e li passa all'immagine a cui fa riferimento il camponame
.Nel file di configurazione del build, aggiungi
test
al campoargs
per richiamaretest
all'interno dimaven
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Pacchettizza l'applicazione: per pacchettizzare l'applicazione in un file JAR per l'immagine
maven
, specifica il comandopackage
nel campoargs
. Il comandopackage
crea un file JAR in/workspace/target/
.Il seguente passaggio di compilazione esegue il pacchettizzazione dell'applicazione Java:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
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 posizione del tuo repository in Artifact Registry.
- project-id: l'ID del progetto che contiene il repository Artifact Registry. Google Cloud
- repository-name: il nome del repository Maven in Artifact Registry.
- app-path: il percorso dell'applicazione pacchettizzata.
- build-artifact: il nome del file del pacchetto creato dal passaggio di compilazione.
- 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 puntini come
1.0.1
.
(Facoltativo) Attivare la generazione della provenienza
Cloud Build può generare metadati verificabili per l'origine della compilazione Supply Chain Levels for Software Artifacts (SLSA) per contribuire a proteggere la pipeline di integrazione continua.
Per attivare la generazione dell'origine, aggiungi
requestedVerifyOption: VERIFIED
alla sezioneoptions
del file di configurazione.Avvia la build: manualmente o utilizzando gli trigger di build.
Al termine della build, puoi visualizzare i dettagli del repository in Artifact Registry.
Puoi anche visualizzare i metadati dell'origine della compilazione e convalidare l'origine.
Passaggi successivi
- Scopri come visualizzare i risultati della build.
- Scopri come proteggere le build.
- Scopri come eseguire deployment blu/verdi su Compute Engine.
- Scopri come creare e containerizzare applicazioni Java.
- Scopri come eseguire il deployment di un'applicazione su Cloud Run.
- Scopri come eseguire il deployment di un'applicazione su GKE.
- Scopri come risolvere gli errori di compilazione.