Questo documento spiega come eseguire le build nei pool privati. Se non hai mai utilizzato i pool privati, leggi la Panoramica dei pool privati.
Prima di iniziare
Assicurati di aver creato un pool privato seguendo i passaggi descritti nella sezione Creazione e gestione dei pool privati.
Per utilizzare gli esempi di riga di comando in questa guida, installa e configura Google Cloud CLI.
Puoi utilizzare lo stesso progetto Google Cloud per creare il pool privato e le build Cloud Build oppure utilizzare progetti diversi. Se le build si trovano in un progetto diverso dal pool privato, imposta il progetto predefinito in gcloud CLI sul progetto di origine delle build:
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 del pool di worker nel progetto del pool privato all'utente o al service account che richiede la build.
Per eseguire build automatizzate utilizzando i trigger:
- Se il progetto in cui inizi la build è lo stesso in cui esiste il tuo pool privato, non devi concedere alcuna autorizzazione.
Se il progetto in cui avvii la build è diverso da quello in cui esiste il pool privato, concedi il ruolo Utente WorkerPool al account di servizio che utilizzi con il trigger nel progetto workerpool in cui vengono create le build:
Console
Apri la pagina IAM nella console Google Cloud .
Nel menu a discesa del selettore dei progetti nella parte superiore della pagina, seleziona il progetto che contiene il tuo pool privato.
Fai clic su Concedi l'accesso.
Inserisci le seguenti impostazioni di entità e ruolo:
Aggiungi entità: inserisci l'indirizzo email del account di servizio che utilizzi con il trigger.
Assegna ruoli: seleziona il ruolo Utente di WorkerPool Cloud Build.
Fai clic su Salva per salvare le nuove autorizzazioni IAM.
gcloud
Per aggiungere il account di servizio di build dal progetto trigger al progetto worker pool con il ruolo cloudbuild.workerPoolUser:
gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT \ --role=roles/cloudbuild.workerPoolUserSostituisci i valori dei segnaposto nel comando precedente con quanto segue:
PRIVATEPOOL_PROJECT_IDè l'ID del progetto con il pool privato che esegue la build.SERVICE_ACCOUNTè l'email del service account che utilizzi con il trigger che esegue la build.
Esecuzione delle build
Puoi inviare build dallo stesso progetto Google Cloud in cui hai creato il pool privato o da un progetto Google Cloud diverso. Puoi specificare
il pool privato nel file di configurazione della build o direttamente nel
comando gcloud:
Specifica del pool privato nel file di configurazione della build:
Nel file di configurazione di Cloud Build, aggiungi un'opzione
poole specifica il nome completo della risorsa del pool privato 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 dei segnaposto nel file di configurazione precedente con quanto segue:
PRIVATEPOOL_PROJECT_ID: il Google Cloud progetto in cui si trova il tuo pool privato.REGION: la regione in cui hai creato il pool privato.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 compilazione tramite
gcloudo API o utilizzando i trigger. Se la tua istanza è ospitata on-premise, Cloud Build fornisce anche il supporto della funzionalità di trigger per diversi sistemi di gestione del codice sorgente esterni, come GitHub Enterprise o Bitbucket Server.
Specifica del pool privato nel comando gcloud:
Puoi specificare il pool privato nel comando gcloud anziché nel file di configurazione della build. Ad esempio, supponiamo di avere il seguente file di configurazione della build:
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 seguente comando esegue la build utilizzando il file di configurazione della build e specifica il pool di 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 quanto segue:
CONFIG_FILE: il 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 Google Cloud progetto in cui si trova il tuo pool privato.REGION: la regione in cui hai creato il pool privato.
Passaggi successivi
- Scopri come creare e gestire i 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.