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 del 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 accetta 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 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 Creare applicazioni Node.js e Creare applicazioni Go.

Immagini di builder supportate fornite da Cloud Build

Cloud Build fornisce e gestisce immagini predefinite a cui puoi fare riferimento nel tuo 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 Creare immagini container e Eseguire il deployment su Cloud Run.

La seguente tabella elenca alcuni esempi di immagini di builder supportate:

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

Builder forniti dalla community

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

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

p
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.
pack Esegue il passaggio di build utilizzando il Cloud Native Buildpack specificato.
packer Automatizza la creazione di immagini macchina utilizzando Packer.
remote-builder Esegue il passaggio di build su una VM di 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 su cloud builders community. Cloud Build non gestisce ufficialmente questi builder. 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 builder personalizzato da utilizzare nelle build. Un builder personalizzato è un'immagine container di cui Cloud Build esegue il pull e che esegue con l'origine. Il builder personalizzato può eseguire qualsiasi script o file binario all'interno del container; di conseguenza, può fare tutto ciò che può fare un container. Per istruzioni sulla creazione di un builder personalizzato, consulta Creare passaggi di build personalizzati.

Passaggi successivi