Cloud builder

I cloud builder sono immagini container in cui sono installati linguaggi e strumenti comuni. Puoi configurare Cloud Build per eseguire un comando specifico nel contesto di questi builder.

Questa pagina descrive i tipi di builder che puoi utilizzare con Cloud Build.

Immagini disponibili pubblicamente

Cloud Build ti consente di utilizzare qualsiasi immagine disponibile pubblicamente per eseguire le tue attività. Per utilizzare un'immagine, specifica l'URL dell'immagine nel campo name nel file di configurazione. Utilizza il campo args per specificare i comandi da eseguire all'interno dell'immagine. Il campo args di un passaggio di compilazione prende un elenco di argomenti e li passa all'immagine a cui fa riferimento il campo name.

Il seguente snippet di codice mostra come utilizzare l'immagine pubblica ubuntu di Docker Hub ed eseguire un comando all'interno dell'immagine:

steps:
- name: 'ubuntu'
  args: ['echo', 'hello world']

Ecco un altro snippet di codice di esempio che utilizza l'immagine per lo scanner open source Black Duck per Cloud Build dal lanciatore della console Google Cloud:

steps:
- name: launcher.gcr.io/blackduck-public/blackducksoftware-containerbuilder-scanner
  ...

Per altri esempi su come utilizzare le immagini disponibili pubblicamente di Docker Hub per le tue attività, consulta Creazione di applicazioni Node.js e Creazione di applicazioni Go.

Immagini di builder supportate fornite da Cloud Build

Cloud Build fornisce e gestisce immagini precompilate a cui puoi fare riferimento nel file di configurazione per eseguire le tue attività. Puoi trovare queste immagini predefinite nella seguente posizione:

gcr.io/cloud-builders/...

Il codice sorgente di questi builder è disponibile nel repository GitHub dei cloud builder.

Per esempi su come utilizzare le immagini predefinite supportate, consulta Creazione di immagini container e Esecuzione del deployment in Cloud Run.

La seguente tabella elenca alcuni esempi di immagini del generatore supportate:

Builder Nome Esempio
bazel gcr.io/cloud-builders/bazel bazel example
docker gcr.io/cloud-builders/docker esempio docker
git gcr.io/cloud-builders/git esempio git
gcloud gcr.io/cloud-builders/gcloud Esempio gcloud
gke-deploy gcr.io/cloud-builders/gke-deploy Esempio di gke-deploy
gradle gcr.io/cloud-builders/gradle esempio gradle
maven gcr.io/cloud-builders/mvn esempio maven
L'elenco completo dei builder supportati per Cloud Build.

Costruttori forniti dalla community

La community di sviluppatori di Cloud Build fornisce compilatori open source che puoi utilizzare per eseguire le tue attività. Per questi compilatori non sono disponibili immagini predefinite. Per utilizzarli, scarica il codice sorgente dal repository GitHub della community cloud-builders e poi compila l'immagine. Per un esempio su come creare un compilatore fornito dalla community e utilizzarlo per le tue attività, consulta Creazione di immagini VM tramite Packer.

La seguente tabella elenca alcuni esempi di elementi creati dalla community:

Builder Descrizione
docker-compose Esegue test di integrazione sulle immagini Docker.
harness-chaos Avvia esperimenti di caos e testa la resilienza delle applicazioni con Harness Chaos Engineering.
helm Gestisce i pacchetti Kubernetes utilizzando Helm.
kaniko Esegue il passaggio di compilazione utilizzando kaniko.
pack Esegue il passaggio di build utilizzando il buildpack Cloud Native specificato.
packer Automatizza la creazione di immagini macchina utilizzando Packer.
remote-builder Esegue il passaggio di compilazione su una VM Compute Engine configurabile.
L'elenco completo dei builder forniti dalla community per Cloud Build.

I builder forniti dalla community sono gestiti dalla community open source all'indirizzo cloud builders community. Cloud Build non gestisce ufficialmente questi compilatori. Per informazioni su come contribuire a un builder, consulta la pagina GitHub della community dei cloud builder.

Scrivere un builder personalizzato

Puoi creare il tuo generatore personalizzato da utilizzare nelle tue build. Un compilatore personalizzato è un'immagine container che Cloud Build estrae ed esegue con il codice sorgente. Il tuo builder personalizzato può eseguire qualsiasi script o file binario all'interno del contenitore, pertanto può fare tutto ciò che può fare un contenitore. Per istruzioni su come creare un builder personalizzato, consulta la sezione Creare passaggi di compilazione personalizzati.

Passaggi successivi