Cloud builder

Gli strumenti di creazione cloud sono immagini container che contengono i linguaggi e gli strumenti più comuni installati. Puoi configurare Cloud Build per eseguire un comando specifico nel contesto di questi builder.

In questa pagina vengono descritti 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 che vuoi eseguire all'interno dell'immagine. Il campo args di un passaggio di build prende un elenco di argomenti e li trasferisce all'immagine a cui fa riferimento il campo name.

Il seguente snippet di codice mostra come utilizzare l'immagine pubblica ubuntu da Docker Hub ed eseguire un comando all'interno di questa 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 da Google Cloud Console Launcher:

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

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

Immagini builder supportate da Cloud Build

Cloud Build fornisce e gestisce immagini predefinite che puoi fare riferimento nel tuo file di configurazione per eseguire le tue attività. Puoi trovare queste immagini predefinite in Container Registry nella seguente posizione:

gcr.io/cloud-builders/...

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

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

La seguente tabella elenca alcuni esempi di immagini builder supportate:

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

Gli strumenti per la creazione di contributi forniti dalla community

La community di sviluppatori Cloud Build fornisce generatori open source che puoi utilizzare per eseguire le tue attività. Le immagini predefinite non sono disponibili per questi builder; per utilizzare questi builder, scarica il codice sorgente dal repository GitHub della community di cloud builder e quindi crea l'immagine. Per un esempio di come creare un builder della community e utilizzarlo per le tue attività, consulta la sezione Creare immagini VM mediante Packer.

La tabella seguente elenca alcuni esempi di builder forniti dalla community:

Builder Descrizione
docker-compose Esegue test di integrazione sulle immagini Docker.
remote-builder Esegue il passaggio di build su una VM configurabile di Compute Engine.
packer Automatizza la creazione delle immagini delle macchine utilizzando Packer
helm Gestisce i pacchetti Kubernetes utilizzando Helm.
pack Esegue il passaggio di build utilizzando lo strumento Cloud Native Buildpack specificato.
kaniko Esegue il passaggio di build utilizzando kaniko.
L'elenco completo di builder forniti dalla community per Cloud Build.

Per informazioni sul contributo di un builder, vedi la pagina GitHub di cloud builders.

Scrivere il proprio builder personalizzato

Puoi creare un tuo generatore personalizzato da utilizzare nelle build. Un builder personalizzato è un'immagine container che Cloud Build esegue ed esegue con la tua origine. Il tuo builder personalizzato può eseguire qualsiasi script o programma binario all'interno del container, in quanto tale può fare tutto ciò che può fare un container. Per istruzioni sulla creazione di un builder personalizzato, consulta la sezione Creazione di passaggi di build personalizzati.

Passaggi successivi