Pianificare le build

Questa pagina spiega come eseguire le build in base a una pianificazione predefinita utilizzando la Google Cloud console. Per pianificare le build, devi creare un trigger manuale e poi richiamarlo utilizzando Cloud Scheduler.

Prima di iniziare

  • Abilita l'API Cloud Build.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilitare l'API

  • Prepara il codice sorgente.
  • Se non l'hai ancora fatto, crea un trigger manuale. Puoi pianificare le build solo se il trigger è un trigger manuale.
  • Se prevedi di utilizzare un service account specificato dall'utente per il trigger di build, assicurati di avere a portata di mano l'indirizzo email del service account. Dovrai concedere al account di servizio di pianificazione l'autorizzazione per utilizzarlo.

Pianificazione delle build

Dopo aver creato un trigger manuale, puoi pianificare la build.

Per pianificare la build:

  1. Apri la pagina Trigger:

    Apri la pagina Trigger

  2. Individua la riga contenente il nome del trigger manuale che vuoi eseguire in base a una pianificazione.

  3. Fai clic sul menu Azioni situato all'estremità destra della riga contenente il trigger.

  4. Fai clic su Esegui in base a una pianificazione per pianificare la build.

    Sul lato destro verrà visualizzato il riquadro Esegui trigger in base a una pianificazione.

  5. Abilita l'API Cloud Scheduler.

    Ti verrà chiesto di abilitare l'API Cloud Scheduler solo la prima volta che pianifichi una build.

  6. Seleziona il account di servizio che vuoi che Cloud Scheduler utilizzi quando richiama il trigger.

    Ti consigliamo di selezionare il account di servizio di pianificazione predefinito, che ha il seguente formato, dove PROJECT_ID è l'ID progetto del tuo progetto:

     cloud-build-trigger-scheduler@PROJECT_ID.iam.gserviceaccount.com
    

    Quando selezioni il account di servizio di pianificazione predefinito, questo verrà creato automaticamente con il ruolo IAM Editor Cloud Build concesso.

    Ti consigliamo di non eliminare questo account di servizio perché viene utilizzato da Cloud Scheduler per pianificare le build. Se elimini accidentalmente questo account di servizio o revochi una delle sue autorizzazioni IAM, puoi andare alla pagina IAM per aggiungere manualmente il account di servizio e concedergli il ruolo Editor Cloud Build. Potresti dover attendere fino a un'ora prima che i job Cloud Scheduler esistenti riprendano dopo aver ricreato il account di servizio.

    Se il trigger manuale utilizza un service account specificato dall'utente, devi anche concedere il ruolo Utente account di servizio (roles/iam.serviceAccountUser) al service account di pianificazione predefinito sul service account specificato dall'utente. Senza questo ruolo, Cloud Scheduler non avrà l'autorizzazione per eseguire il trigger.

  7. Fai clic su Continua.

    Se non hai selezionato una regione, prima di procedere al passaggio successivo potrebbe esserti chiesto di selezionarne una per i job Cloud Scheduler. Quando selezioni una regione, nel progetto viene creata automaticamente un'applicazione App Engine. In un secondo momento non puoi modificare la regione del progetto. Per saperne di più, consulta Regioni supportate.

  8. Inserisci le seguenti impostazioni del job Cloud Scheduler:

    • Nome: un nome per il job Cloud Scheduler.
    • Descrizione (facoltativo): una descrizione per il job Cloud Scheduler.
    • Frequenza: seleziona la frequenza con cui vuoi che venga eseguito il trigger. Puoi scegliere una frequenza dal menu a discesa o inserire un valore personalizzato utilizzando la sintassi cron. Ad esempio, se vuoi che il trigger manuale venga eseguito ogni giorno alle 6:00, puoi specificare la frequenza nella sintassi cron come 0 6 * * *. Per saperne di più sulla sintassi cron, consulta Configurare le pianificazioni dei cron job.
    • Fuso orario: seleziona il fuso orario in cui ti trovi.
  9. Fai clic su Crea per creare il job Cloud Scheduler.

    Puoi creare più job di pianificazione per ogni trigger manuale.

  10. Se vuoi visualizzare il job Cloud Scheduler, fai clic su Visualizza. In caso contrario, fai clic su Fine per chiudere il riquadro.

Aggiornamento del job Cloud Scheduler

Se aggiorni il campo Revisione nel trigger manuale, dovrai aggiornare manualmente il job Cloud Scheduler associato al trigger. Ad esempio, se aggiorni il nome del ramo per il trigger manuale, dovrai aggiornare manualmente il nome del ramo nel job.

Per aggiornare il job Cloud Scheduler:

  1. Apri la pagina Cloud Scheduler:

    Apri la pagina Cloud Scheduler

    Verrà visualizzato un elenco dei job Cloud Scheduler.

  2. [Facoltativo] Identifica il job Cloud Scheduler associato al trigger:

    1. Recupera l'ID trigger eseguendo il seguente comando, dove dove TRIGGER_NAME è il nome del trigger:

      gcloud builds triggers describe TRIGGER_NAME
      
    2. Prendi nota dell'ID trigger.

    3. Inserisci l'ID trigger nella barra dei filtri nella parte superiore della tabella.

    Verrà visualizzato l'elenco dei job Cloud Scheduler associati al trigger.

  3. Fai clic sulla riga contenente il nome del job che vuoi aggiornare.

  4. Fai clic su Modifica nella parte superiore della pagina.

    Verrà visualizzato un modulo per aggiornare il job Cloud Scheduler.

  5. Nel campo Corpo, aggiorna la revisione.

  6. Fai clic su Aggiorna.

Hai aggiornato la revisione associata al trigger per il job Cloud Scheduler.

Rimozione del job Cloud Scheduler

L'eliminazione o la disattivazione del trigger non comporta l'eliminazione o la disattivazione automatica di tutti i job Cloud Scheduler creati automaticamente quando hai pianificato il trigger. I job esisteranno e le build potrebbero continuare a essere richiamate.

Per assicurarti che il trigger non venga più eseguito in un momento specifico, elimina il job Cloud Scheduler.

Passaggi successivi