In questa pagina viene descritto come creare un file di configurazione di compilazione che puoi per avviare una build su Cloud Build.
Un file di configurazione di compilazione definisce i campi necessari
e Cloud Build per eseguire le tue attività. Ti servirà un file di configurazione della build se avvii le build utilizzando lo strumento gcloud
a riga di comando o gli attivatori della compilazione. Puoi scrivere
del file di configurazione di compilazione
usando la sintassi YAML o JSON.
Prima di iniziare
Leggi Panoramica della configurazione della build per scopri di più sui campi che puoi includere in un file di configurazione di compilazione.
Creazione di una configurazione di compilazione
I passaggi seguenti spiegano come creare un file di configurazione della build di base. Ogni
uno dei campi nel file di configurazione di compilazione definisce una parte dell'attività che vuoi
eseguire. L'unico campo obbligatorio nel file di configurazione di compilazione è il campo name
per un passaggio. Tutti gli altri campi sono facoltativi.
YAML
Crea il file di configurazione della build. Nella directory root del progetto, crea un file denominato
cloudbuild.yaml
. Ecco il tuo Cloud Build di configurazione del deployment.Aggiungi il campo Passaggi. Sezione
steps
nel file di configurazione della build contiene i passaggi di build che devono essere eseguiti da Cloud Build.steps:
Aggiungi il primo passaggio. Sotto
steps:
, aggiungi un camponame
e puntalo a un'immagine container per eseguire l'attività. Cloud Build e la sua community di sviluppatori forniscono diverse immagini container con strumenti e linguaggi comuni installati. Puoi usare una qualsiasi di queste immagini (anche Cloud Builders) o qualsiasi immagine disponibile pubblicamente in una build passaggio. Per informazioni sui diversi tipi di immagini container, puoi utilizzare in un passaggio di creazione, consulta Cloud Builder.Lo snippet seguente mostra un passaggio di compilazione con un
docker
buildergcr.io/cloud-builders/docker
, ovvero un'immagine container che esegue Docker.steps: - name: 'gcr.io/cloud-builders/docker'
Aggiungi gli argomenti dei passaggi. Il campo
args
di un passaggio prende un elenco di argomenti e li passa al generatore a cui fa riferimento il camponame
. Se lo strumento nel camponame
ha un punto di ingresso, iargs
nell'elenco sono utilizzati per per accedere al punto di ingresso. Se il builder nel camponame
non dispone di , il primo elemento diargs
viene utilizzato come punto di ingresso.Nell'esempio seguente:
build
è il punto di accesso a Docker Cloud Builder.-t
è il tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
è il dell'immagine da creare in Artifact Registry. La build utilizza la sostituzione predefinita per l'ID progetto, pertanto questo viene sostituito automaticamente al momento della creazione..
è la posizione del codice sorgente, che indica l'origine si trova nella directory di lavoro attuale.steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image', '.']
Aggiungi altri passaggi. Puoi aggiungere qualsiasi numero di passaggi di build alla tua build di configurazione includendo altri campi
name
e indirizzandoli a cloud costruttori.Il seguente snippet include altri due passaggi per la configurazione della build file:
- un passaggio di build Docker per richiamare il comando
docker push
ed eseguire il push nel passaggio precedente per creare Artifact Registry. Un passaggio di compilazione per il comando Google Cloud SDK con l'entrypoint
gcloud
specificato, che crea un'istanza Compute Engine dall'immagine del contenitore in Artifact Registry. Il campoenv
per specificare la zona Compute Engine e regione.- name: 'gcr.io/cloud-builders/docker' args: ['push', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: 'gcloud' args: ['compute', 'instances', 'create-with-container', 'my-vm-name', '--container-image', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] env: - 'CLOUDSDK_COMPUTE_REGION=us-central1' - 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- un passaggio di build Docker per richiamare il comando
Includi campi di configurazione di compilazione aggiuntivi. Puoi configurare ulteriormente la compilazione includendo campi come
machineType
,tags
otimeout
. Per l'elenco completo dei campi puoi includere nel file di configurazione di compilazione, vedi Panoramica della configurazione della build.Nell'esempio seguente, il passaggio di compilazione
gcr.io/google.com/cloudsdktool/cloud-sdk
scade dopo 240 secondi.- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk' entrypoint: 'gcloud' timeout: 240s args: ['compute', 'instances', 'create-with-container', 'my-vm-name', '--container-image', 'us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image'] env: - 'CLOUDSDK_COMPUTE_REGION=us-central1' - 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
Vedi lo snippet seguente per l'esempio completo di una build di base di configurazione:
Nell'esempio, le immagini container sono archiviate in Artifact Registry. Se le tue build produce artefatti non containerizzati, puoi archiviarli Cloud Storage utilizzando il campo
artifacts
. Per istruzioni su come fare vedi Archiviare immagini Artefatti.
JSON
Crea il file di configurazione della build. Nella directory principale del progetto, crea un file denominato
cloudbuild.json
. Ecco il tuo Cloud Build di configurazione del deployment.Aggiungi il campo Passaggi. Sezione
steps
nel file di configurazione della build contiene i passaggi di build che devono essere eseguiti da Cloud Build.{ "steps": }
Aggiungi il primo passaggio. Sotto
steps:
, aggiungi un camponame
e puntalo a un'immagine container per eseguire l'attività. Cloud Build e le sue la community degli sviluppatori fornisce diverse immagini container con strumenti comuni e lingue installate. Puoi usare una qualsiasi di queste immagini (anche Cloud Builders) o qualsiasi immagine disponibile pubblicamente in una build passaggio. Per informazioni sui diversi tipi di immagini container, puoi utilizzare in un passaggio di creazione, consulta Cloud Builder.Il seguente snippet mostra un passaggio di build con un builder
docker
gcr.io/cloud-builders/docker
, che è un'immagine container in esecuzione Docker.{ "steps": [ { "name": "gcr.io/cloud-builders/docker" } ] }
Aggiungi gli argomenti dei passaggi. Il campo
args
di un passaggio prende un elenco di argomenti e li passa al generatore a cui fa riferimento il camponame
. Se lo strumento nel camponame
ha un punto di ingresso, iargs
nell'elenco sono utilizzati per per accedere al punto di ingresso. Se il builder nel camponame
non dispone di , il primo elemento diargs
viene utilizzato come punto di ingresso.Nell'esempio seguente:
build
è il punto di accesso a Docker Cloud Builder.-t
è il tag Docker.us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/my-image
è il dell'immagine da creare in Artifact Registry. La build utilizza la sostituzione predefinita per l'ID progetto, pertanto questo viene sostituito automaticamente al momento della creazione..
è la posizione del codice sorgente, che indica l'origine si trova nella directory di lavoro attuale.{ "steps": [ { "name": "gcr.io/cloud-builders/docker", "args": [ "build", "-t", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage", "." ] } ] }
Aggiungi altri passaggi. Puoi aggiungere qualsiasi numero di passaggi di build alla tua build di configurazione includendo altri campi
name
e indirizzandoli a cloud costruttori.Il seguente snippet include altri due passaggi per la configurazione della build file:
- un passaggio di build Docker per richiamare il comando
docker push
ed eseguire il push build di immagine nel passaggio precedente Artifact Registry. un passaggio di build per il comando Google Cloud SDK con
gcloud
del punto di ingresso specificato, che crea un'istanza Compute Engine dall'immagine container in Artifact Registry. Il campoenv
è incluso per specificare la zona e la regione di Compute Engine.{ "name": "gcr.io/cloud-builders/docker", "args": [ "push", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ] }, { "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "entrypoint": "gcloud", "args": [ "compute", "instances", "create-with-container", "my-vm-name", "--container-image", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ], "env": [ "CLOUDSDK_COMPUTE_REGION=us-central1", "CLOUDSDK_COMPUTE_ZONE=us-central1-a" ] }
- un passaggio di build Docker per richiamare il comando
Includi campi di configurazione di compilazione aggiuntivi. Puoi configurare per creare ulteriormente includendo campi come
machineType
,tags
otimeout
. Per l'elenco completo dei campi puoi includere nel file di configurazione di compilazione, vedi Panoramica della configurazione della build.Nell'esempio seguente,
gcr.io/google.com/cloudsdktool/cloud-sdk
il passo di build scade dopo 240 secondi.{ "name": "gcr.io/google.com/cloudsdktool/cloud-sdk", "entrypoint": "gcloud", "timeout": "240s", "args": [ "compute", "instances", "create-with-container", "my-vm-name", "--container-image", "us-central1-docker.pkg.dev/${PROJECT_ID}/my-docker-repo/myimage" ], "env": [ "CLOUDSDK_COMPUTE_REGION=us-central1", "CLOUDSDK_COMPUTE_ZONE=us-central1-a" ] }
Vedi lo snippet seguente per l'esempio completo di una build di base di configurazione:
Nell'esempio, le immagini container sono archiviate in Artifact Registry. Se le tue build produce artefatti non containerizzati, puoi archiviarli Cloud Storage utilizzando il campo
artifacts
. Per istruzioni su come fare vedi Archiviare immagini Artefatti.
Passaggi successivi
- Scopri come eseguire le tue build manualmente e utilizzando gli attivatori il file di configurazione della build.
- Scopri come scrivere configurazioni di build per incluse dipendenze, creazione i test e il deployment artefatto.