Questo documento spiega come eseguire le build nei pool privati. Se non hai mai eseguito ai pool privati, leggi la panoramica sui pool privati.
Prima di iniziare
Assicurati di aver creato un pool privato seguendo la procedura descritta in Creazione e gestione di pool privati.
Per utilizzare gli esempi a riga di comando in questa guida, installa configurare Google Cloud CLI.
Puoi utilizzare lo stesso progetto Google Cloud per creare un pool privato e le build di Cloud Build o utilizzano in modo programmatico a gestire i progetti. Se le build si trovano in un progetto diverso da quello privato pool, imposta il progetto predefinito in gcloud CLI sul progetto in cui le build hanno origine:
gcloud config set project BUILD_ORIGIN_PROJECT_ID
Autorizzazioni IAM
Per eseguire le build tramite gcloud CLI o l'API Cloud Build, concedi il ruolo Utente pool di worker nel progetto del pool privato all'utente o al servizio che richiede la build.
Per eseguire build automatiche utilizzando i trigger:
- Se il progetto in cui stai iniziando la build corrisponde a quello del progetto in cui esiste il pool privato, non devi concedere alcun autorizzazioni aggiuntive.
Se il progetto in cui stai iniziando la build è diverso dal nel progetto in cui esiste il pool privato, concedi l'utente WorkerPool all'account di servizio che stai utilizzando con il tuo trigger nella progetto pool di worker in cui vengono create le build:
Console
Apri la pagina IAM nella console Google Cloud.
Nel menu a discesa del selettore progetti nella parte superiore della pagina, seleziona il progetto che contiene il pool privato.
Fai clic su Concedi accesso.
Inserisci le seguenti impostazioni dell'entità e del ruolo:
Aggiungi entità: inserisci l'indirizzo email dell'account di servizio che che stai utilizzando con il trigger.
Assegna ruoli: seleziona il ruolo Utente pool di worker di Cloud Build.
Fai clic su Salva per salvare le nuove autorizzazioni IAM.
gcloud
Aggiungere l'account di servizio Cloud Build predefinito dal trigger al progetto pool di worker con il ruolo cloudbuild.workerPoolUser:
gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT \ --role=roles/cloudbuild.workerPoolUser
Sostituisci i valori segnaposto nel comando precedente con i seguenti:
PRIVATEPOOL_PROJECT_ID
è l'ID del progetto con il pool privato che esegue la build.SERVICE_ACCOUNT
è l'email del servizio che stai utilizzando con il trigger che esegue la build.
Esecuzione delle build
Puoi inviare build dallo stesso progetto Google Cloud in cui hai creato
o da un altro progetto Google Cloud. Puoi specificare
il pool privato nel file di configurazione della build o direttamente
Comando gcloud
:
Specifica il pool privato nel file di configurazione della build:
Nel file di configurazione di Cloud Build, aggiungi un'opzione
pool
e specifica il nome completo della risorsa pool per eseguire la build:YAML
steps: - name: 'bash' args: ['echo', 'I am running in a private pool!'] options: pool: name: 'projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID'
JSON
{ "steps": [ { "name": "bash", "args": [ "echo", "I am running in a private pool!" ] } ], "options": { "pool" : { "name" : "projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID" } } }
Sostituisci i valori segnaposto del file di configurazione riportato sopra con i seguenti:
PRIVATEPOOL_PROJECT_ID
: il progetto Google Cloud in cui si trova una piscina privata.REGION
: la regione in cui hai creato i contenuti privati piscina.PRIVATEPOOL_ID
: l'ID univoco del pool privato che hai specificato durante la creazione del pool privato.
Utilizza il file di configurazione di compilazione creato in precedenza per eseguire la build tramite
gcloud
o API o tramite attivatori. Se le tue è ospitata on-premise, Cloud Build fornisce anche delle funzionalità di trigger per diverse sistemi di gestione del codice sorgente come GitHub Enterprise o Bitbucket Server.
Specifica il pool privato nel comando gcloud:
Puoi specificare il pool privato nel comando gcloud
anziché nella
di configurazione della build. Ad esempio, considera la seguente configurazione di compilazione
file:
YAML
steps:
- name: 'bash'
args: ['echo', 'I am running in a private pool!']
JSON
{
"steps": [
{
"name": "bash",
"args": [
"echo",
"I am running in a private pool!"
]
}
],
}
Il comando seguente crea utilizzando il file di configurazione di compilazione e specifica il worker nel comando:
gcloud builds submit --config=CONFIG_FILE
--worker-pool=projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID
Sostituisci i valori segnaposto nei comandi precedenti con i seguenti:
CONFIG_FILE
: percorso del file di configurazione della build.PRIVATEPOOL_ID
: l'ID univoco del pool privato che hai specificato durante la creazione del pool privato.PRIVATEPOOL_PROJECT_ID
: il progetto Google Cloud in cui si trova una piscina privata.REGION
: la regione in cui hai creato il pool privato.
Passaggi successivi
- Scopri come creare e gestire pool privati.
- Scopri come utilizzare i Controlli di servizio VPC con i pool privati.
- Scopri come creare e gestire i trigger di build.
- Scopri come creare repository da GitHub Enterprise.
- Scopri come creare repository da Bitbucket Server.