Esecuzione delle build in un pool privato

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questo documento spiega come eseguire le build in pool privati. Se non hai mai utilizzato i pool privati, leggi la panoramica sui pool privati.

Prima di iniziare

  • Assicurati di aver creato un pool privato utilizzando la procedura descritta in Creare e gestire pool privati.

  • Per utilizzare gli esempi a riga di comando in questa guida, installa e configura Google Cloud CLI.

  • Puoi utilizzare lo stesso progetto Cloud per creare il tuo pool privato e le build di Cloud Build oppure utilizzare progetti diversi. Se le build si trovano in un progetto diverso da quello privato, imposta il progetto predefinito nell'interfaccia a riga di comando gcloud sul progetto in cui hanno origine le build:

    gcloud config set project BUILD_ORIGIN_PROJECT_ID
    

Autorizzazioni IAM

  • Per eseguire le build tramite l'interfaccia a riga di comando gcloud o l'API Cloud Build, concedi il ruolo Utente poolPool nel progetto del pool privato all'account utente o di servizio che richiede la build.

  • Per eseguire build automatizzate utilizzando i trigger:

    • Se il progetto in cui stai iniziando la build è lo stesso in cui esiste il pool privato, non devi concedere alcuna autorizzazione.
    • Se il progetto in cui stai iniziando la build è diverso da quello in cui esiste il pool privato, concedi il ruolo Utente pool di worker al progetto di servizio Cloud Build del trigger nel progetto di pool in cui vengono create le build:

    Console

    1. Apri la pagina IAM in Google Cloud Console.

      Apri la pagina Autorizzazioni IAM

    2. Nel menu a discesa del selettore dei progetti nella parte superiore della pagina, seleziona il progetto che contiene il pool privato.

    3. Fai clic su Concedi accesso.

    4. Inserisci le seguenti impostazioni per entità e ruolo:

      • Aggiungi entità: inserisci l'indirizzo email predefinito dell'account di servizio Cloud Build del progetto che contiene il trigger di build. Per ricevere questo indirizzo email:

        1. Apri la pagina IAM.
        2. Seleziona il progetto che contiene il trigger di build.
        3. Nella tabella delle autorizzazioni, individua l'indirizzo email che termina con @cloudbuild.gserviceaccount.com. Questo è il tuo account di servizio Cloud Build.
      • Assegna ruoli: seleziona il ruolo Utente pool di worker di Cloud Build.

    5. Fai clic su Salva per salvare le nuove autorizzazioni IAM.

    gcloud

    Per aggiungere l'account di servizio Cloud Build predefinito dal progetto trigger al progetto workerpool con il ruolo cloudbuild.workerPoolUser:

      gcloud projects add-iam-policy-binding PRIVATEPOOL_PROJECT_ID \
          --member=serviceAccount:TRIGGER_PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
          --role=roles/cloudbuild.workerPoolUser
    

    Sostituisci i valori segnaposto nel comando riportato di seguito con il seguente codice:

    • PRIVATEPOOL_PROJECT_ID è l'ID del progetto con il pool privato che esegue la build.
    • TRIGGER_PROJECT_NUMBER è il numero del progetto con il trigger che esegue la build.

Esecuzione delle build

Puoi inviare build dallo stesso progetto Cloud in cui hai creato il pool privato o da un progetto Cloud diverso. Puoi specificare il pool privato nel file di configurazione della build o direttamente nel comando gcloud:

Specifica il pool privato nel file di configurazione della build:

  1. Nel file di configurazione di Cloud Build, aggiungi un'opzione pool e 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 segnaposto nel file di configurazione sopra riportato con quanto segue:

    • PRIVATEPOOL_PROJECT_ID: progetto Cloud in cui si trova il tuo pool privato.
    • REGION: l'area geografica in cui hai creato il pool privato.
    • PRIVATEPOOL_ID: l'ID pool privato univoco specificato durante la creazione del pool privato.
  2. Usa il file di configurazione della build creato in precedenza per eseguire la build tramite gcloud o API o utilizzando gli trigger. Se la tua istanza è ospitata on-premise, Cloud Build offre anche il supporto per la funzionalità di trigger per diversi sistemi di gestione del codice sorgente esterni, come GitHub Enterprise o Server Bitbucket.

Specifica il pool privato nel comando gcloud:

Puoi specificare il pool privato nel comando gcloud anziché nel file di configurazione della build. Ad esempio, considera il seguente file di configurazione di compilazione:

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 il file di configurazione 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 riportati sopra con i seguenti elementi:

  • CONFIG_FILE: percorso del file di configurazione della build.
  • PRIVATEPOOL_ID: l'ID pool privato univoco specificato durante la creazione del pool privato.
  • PRIVATEPOOL_PROJECT_ID: progetto Cloud in cui si trova il tuo pool privato.
  • REGION: l'area geografica in cui hai creato il pool privato.

Passaggi successivi