I cloud builder sono immagini container in cui sono installati strumenti e linguaggi comuni. 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
del file di configurazione. Utilizza il campo args
per specificare i comandi da eseguire nell'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 ubuntu
pubblica da 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 Avvio app 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 del builder supportate fornite da Cloud Build
Cloud Build fornisce e gestisce immagini predefinite 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 per questi builder è disponibile nel repository GitHub di Cloud Builder.
Per esempi su come utilizzare le immagini predefinite supportate, consulta Creazione di immagini container e Deployment in Cloud Run.
Nella tabella seguente sono elencati alcuni esempi di immagini del 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 git |
gcloud | gcr.io/cloud-builders/gcloud |
Esempio di gcloud |
gke-deploy | gcr.io/cloud-builders/gke-deploy |
Esempio di deployment con 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. |
Strumenti per la creazione forniti dalla community
La community di sviluppatori di Cloud Build offre builder 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, quindi crea l'immagine. Per un esempio su come creare uno strumento di creazione fornito dalla community e utilizzarlo per le tue attività, consulta Creazione di immagini VM utilizzando Packer.
La tabella seguente elenca alcuni esempi di builder forniti dalla community:
Builder | Descrizione |
---|---|
docker-compose |
Esegue i test di integrazione sulle immagini Docker. |
remote-builder |
Esegue il passaggio di build su una VM di Compute Engine configurabile. |
packer |
Automatizza la creazione di immagini macchina utilizzando Packer |
helm |
Gestisce i pacchetti Kubernetes utilizzando Helm. |
pack |
Esegue il passaggio di build utilizzando il buildpack Cloud Native specificato. |
kaniko |
Esegue il passaggio di build utilizzando kaniko. |
L'elenco completo dei builder forniti dalla community per Cloud Build. |
I builder forniti dalla community sono gestiti dalla community open source nella community di Cloud Builder. Cloud Build non gestisce ufficialmente questi builder. Per informazioni su come dare il tuo contributo a un builder, consulta la pagina GitHub della community di sviluppatori di cloud.
Creazione del tuo builder personalizzato
Puoi creare il tuo generatore personalizzato da utilizzare nelle tue build. Un builder personalizzato è un'immagine container che Cloud Build estrae ed esegue con la tua origine. Il tuo builder personalizzato può eseguire qualsiasi script o programma binario all'interno del container; pertanto può fare tutto ciò che può fare un container. Per istruzioni sulla creazione di un generatore personalizzato, consulta Creazione di passaggi per la creazione personalizzata.
Passaggi successivi
- Scopri come utilizzare i builder personalizzati e forniti dalla community.
- Scopri di più sulla struttura di un file di configurazione di compilazione.
- Scopri come utilizzare un'immagine
node
disponibile pubblicamente per creare applicazioniNode.js
. - Scopri come utilizzare un'immagine
gcloud
predefinita per il deployment in Cloud Functions. - Scopri come utilizzare un'immagine
firebase
fornita dalla community per eseguire il deployment su Firebase.