Questa pagina spiega come utilizzare Cloud Build per creare e testare applicazioni basate su Java, archiviare artefatti creati in un repository Maven in Artifact Registry e generare informazioni sulla provenienza delle build.
Prima di iniziare
- Acquisisci familiarità con la creazione di applicazioni basate su Java.
- Familiarizza con Maven
- Tieni a portata di mano il tuo progetto Java.
- Conosci come scrivere un file di configurazione di Cloud Build.
- Avere un repository Maven in Artifact Registry. Se non ne hai uno, creane uno nuovo.
- 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
da Docker Hub.
Per eseguire le attività nell'immagine maven
, specifica l'URL dell'immagine e la versione con tag dell'immagine 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 compilazione:
steps:
- name: maven:3.3-jdk-8
entrypoint: mvn
args: ['--version']
Configurazione di Java
build in corso...
Nella directory principale del progetto, crea un file di configurazione della build denominato
cloudbuild.yaml
.Esegui test:
maven
forniscemaven test
, che scarica le dipendenze, crea le applicazioni ed esegue i test specificati nel codice sorgente. Il campoargs
di un passaggio di build prende un elenco di argomenti e li passa all'immagine a cui fa riferimento il camponame
.Nel file di configurazione della build, aggiungi
test
al campoargs
per richiamaretest
all'interno dimaven
:steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['test']
Applicazione del pacchetto: 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 build pacchettizza la tua applicazione Java:
steps: - name: maven:3.3-jdk-8 entrypoint: mvn args: ['package','-Dmaven.test.skip=true']
Carica su Artifact Registry:
Cloud Build genera le informazioni sulla provenienza delle build di Supply chain Levels for Software Artifacts (SLSA) per i pacchetti Maven autonomi quando carichi artefatti in Artifact Registry utilizzando il campo
mavenArtifacts
nel file di configurazione di Cloud Build.Nel file di configurazione della build, utilizza il campo
mavenArtifacts
per specificare il percorso del file dell'applicazione e il tuo 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à per il repository in Artifact Registry.
- project-id: l'ID del progetto Google Cloud che contiene il 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 con numeri e punti come
1.0.1
.
(Facoltativo) Attiva la provenienza per le build a livello di regione
Se utilizzi una build a livello di regione, aggiungi il campo
requestedVerifyOption
inoptions
del file di configurazione della build. Imposta il valore suVERIFIED
per attivare la generazione dei metadati di provenienza. Se non aggiungirequestedVerifyOption: VERIFIED
, Cloud Build genera la provenienza solo per le build globali.options: requestedVerifyOption: VERIFIED
Avvia la build: manualmente o utilizzando i trigger di build.
Una volta completata la build, puoi visualizzare i dettagli del repository in Artifact Registry.
Per proteggere la catena di fornitura del software, puoi anche visualizzare i metadati di provenienza della build e convalidare la provenienza.
Passaggi successivi
- Scopri come visualizzare i risultati della build.
- Scopri come salvaguardare le build.
- Scopri come eseguire deployment blu/verde 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 generazione.