Eseguire build in un pool privato

Questo documento spiega come eseguire build in pool privati. Se non hai mai utilizzato i pool privati, consulta la Panoramica dei pool privati.

Prima di iniziare

  • Assicurati di aver creato un pool privato seguendo i passaggi descritti in Creazione e gestione dei pool privati.

  • Per utilizzare gli esempi a 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 di Cloud Build oppure utilizzare progetti diversi. Se le build si trovano in un progetto diverso dal tuo pool privato, imposta il progetto predefinito in gcloud CLI sul progetto da 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 pool di lavoratori nel progetto del pool privato all'utente o all'account di servizio che richiede la build.

  • Per eseguire build automatiche utilizzando i trigger:

    • Se il progetto in cui stai avviando la compilazione è lo stesso in cui esiste il tuo pool privato, non devi concedere autorizzazioni.
    • Se il progetto in cui avvii la compilazione è diverso dal progetto in cui esiste il pool privato, concedi il ruolo Utente pool di lavoro all'account di servizio che utilizzi con l'attivatore nel progetto del pool di lavoro in cui vengono create le compilazioni:

    Console

    1. Apri la pagina IAM nella console Google Cloud.

      Apri la pagina Autorizzazioni IAM

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

    3. Fai clic su Concedi accesso.

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

      • Aggiungi entità: inserisci l'indirizzo email dell'account di servizio che utilizzi con l'attivatore.

      • Assegna i ruoli: seleziona il ruolo Utente pool di lavoro Cloud Build.

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

    gcloud

    Per aggiungere l'account di servizio di compilazione dal progetto trigger al progetto workerpool 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 riportato sopra con quanto segue:

    • PRIVATEPOOL_PROJECT_ID è l'ID del progetto con il pool privato che esegue la build.
    • SERVICE_ACCOUNT è l'indirizzo email dell'account di servizio che utilizzi con l'attivatore che esegue la compilazione.

Esecuzione delle build

Puoi inviare le build dallo stesso progetto Google Cloud in cui hai creato il pool privato o da un altro progetto Google Cloud. Puoi specificare il pool privato nel file di configurazione di compilazione 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 riportato sopra con quanto segue:

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

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 della 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 esegue la compilazione utilizzando il file di configurazione della build e specifica il pool di lavoratori 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: percorso del file di configurazione della compilazione.
  • PRIVATEPOOL_ID: l'ID pool privato univoco specificato durante la creazione del pool privato.
  • PRIVATEPOOL_PROJECT_ID: il progetto Google Cloud in cui si trova il tuo pool privato.
  • REGION: la regione in cui hai creato il pool privato.

Passaggi successivi