Questa pagina spiega come utilizzare i generatori forniti dalla community e i builder personalizzati in Cloud Build. La community di sviluppatori Cloud Build fornisce generatori open source che puoi utilizzare per eseguire le tue attività. Se l'attività che vuoi eseguire richiede funzionalità non fornite da un'immagine esistente, puoi creare la tua immagine personalizzata e utilizzarla in un passaggio della build. Per informazioni sui diversi tipi di builder, consulta Cloud Builder.
Se non hai mai utilizzato Cloud Build, leggi prima le guide rapide e la panoramica della configurazione di build.
Utilizzo di builder forniti dalla community
Le immagini predefinite non sono disponibili per i builder forniti dalla community; per utilizzare questi builder in un file di configurazione di Cloud Build, devi prima creare l'immagine ed eseguirne il push in Container Registry nel tuo progetto.
Per utilizzare uno strumento per la creazione di contributi forniti dalla community:
Crea ed esegui il push del builder:
Vai alla directory principale del progetto.
Clona il repository cloud-builders-community:
git clone https://github.com/GoogleCloudPlatform/cloud-builders-community.git
Vai all'immagine del builder che vuoi utilizzare, dove builder-name è la directory che contiene il builder:
cd cloud-builders-community/builder-name
Invia il builder al tuo progetto:
gcloud builds submit .
Torna alla directory principale del progetto:
cd ../..
Rimuovi il repository dalla directory radice:
rm -rf cloud-builders-community/
Nel file di configurazione di Cloud Build, usa il builder in un passaggio di build:
YAML
steps: - name: 'gcr.io/project-id/builder-name' args: ['arg1', 'arg2', ...] ...
JSON
{ "steps": [ { "name": "gcr.io/project-id/builder-name", "args": [ "arg1", "arg2", ... ] ... } ] }
Usa il file di configurazione della build per avviare la build manualmente o utilizzando i trigger.
Ad esempio, per utilizzare i builder forniti dalla community, vedi Deployment in Firebase e Creazione di immagini VM mediante Packer.
Creazione di un builder personalizzato
Se l'attività che vuoi eseguire richiede funzionalità non fornite da un'immagine pubblica, da un builder supportato o da un buider fornito dalla community, puoi creare la tua immagine e utilizzarla in un passaggio della build.
Di seguito sono riportati alcuni esempi di quando utilizzare un'immagine personalizzata dello strumento di creazione:
- Download di codice sorgente o pacchetti da posizioni esterne.
- Tramite una catena di strumenti esterna.
- Memorizzazione nella cache delle librerie necessarie.
- Origine pre-creazione (con Cloud Build responsabile solo del pacchetto potenzialmente della build in un'immagine).
Come qualsiasi altro builder, un builder personalizzato viene eseguito con la sorgente montata in
/workspace
ed è eseguito con una directory di lavoro in /workspace
. Tutti i file rimasti
in /workspace
da un determinato passaggio di build sono disponibili per altri passaggi di build.
Il tuo builder personalizzato può eseguire il push o il pull da un repository in Container Registry (ospitato all'indirizzo gcr.io/$PROJECT-NAME/
) a cui ha accesso il tuo account di servizio Cloud Build.
I seguenti passaggi mostrano come creare e utilizzare uno strumento per la creazione di annunci personalizzati con un esempio
Dockerfile
:
Crea un'immagine dello strumento per la creazione di annunci personalizzati:
Crea il
Dockerfile
per lo strumento per la creazione di annunci personalizzati. Il seguente codice mostra un esempioDockerfile
:FROM alpine RUN apk add curl CMD curl https://httpbin.org/ip -s > myip.txt; echo "*** My IP is: $(cat myip.txt)"
Crea ed esegui il push del builder personalizzato in Container Registry nel tuo progetto, sostituendo i valori per project-id e image-name:
gcloud builds submit --tag gcr.io/project-id/image-name
Utilizza l'immagine del builder personalizzato in Cloud Build specificando il builder nel campo
name
di un passaggio di build:YAML
steps: - name: 'gcr.io/project-id/image-name' id: Determine IP of this build worker
JSON
{ "steps": [ { "name": "gcr.io/project-id/image-name", "id": "Determine IP of this build worker" } ] }
Usa il file di configurazione della build per avviare la build manualmente o utilizzando i trigger.
Passaggi successivi
- Scopri come eseguire script bash nei passaggi della build.
- Scopri come configurare l'ordine dei passaggi della build.
- Scopri come scrivere un file di configurazione della build di base.