Pianificare le build

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

Prima di iniziare

  • Abilita l'API Cloud Build, se non è già abilitata.

    Ruoli richiesti per abilitare le API

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

    Abilitare l'API

  • Tieni a portata di mano il codice sorgente.
  • Se non l'hai ancora fatto, crea un attivatore 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 di questo service account. Devi concedere al account di servizio di pianificazione l'autorizzazione per utilizzarlo.

Pianificazione delle build

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

Per programmare 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 alla pianificazione.

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

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

    Sul lato destro verrà visualizzato il riquadro Esegui trigger in base alla 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 la ricreazione del account di servizio.

    Se il trigger manuale utilizza un service account specificato dall'utente, devi concedere anche il ruolo Service Account User (roles/iam.serviceAccountUser) al account di servizio di pianificazione predefinito nel 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, potrebbe esserti chiesto di selezionarne una per i tuoi job Cloud Scheduler prima di procedere al passaggio successivo. Quando selezioni una regione, viene creata automaticamente un'applicazione App Engine nel tuo progetto. Non puoi modificare la regione del tuo progetto in un secondo momento. Per saperne di più, consulta Regioni supportate.

  8. Inserisci le seguenti impostazioni del job Cloud Scheduler:

    • Nome: un nome per il job Cloud Scheduler.
    • (Facoltativo) Descrizione: una descrizione del 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 tutti i giorni alle 6:00, puoi specificare la frequenza nella sintassi cron come 0 6 * * *. Per saperne di più sulla sintassi cron, vedi Configurazione di pianificazioni 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

    Vedrai un elenco dei tuoi job Cloud Scheduler.

  2. (Facoltativo) Identifica il job Cloud Scheduler associato al trigger:

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

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

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

    Vedrai l'elenco dei job Cloud Scheduler associati al trigger.

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

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

    Vedrai un modulo per aggiornare il job Cloud Scheduler.

  5. Nel campo Corpo, aggiorna la revisione.

  6. Fai clic su Aggiorna.

Ora hai aggiornato la revisione associata al trigger per il tuo job Cloud Scheduler.

Rimozione del job Cloud Scheduler

L'eliminazione o la disattivazione del trigger non elimina o disattiva automaticamente tutti i job Cloud Scheduler che sono stati creati automaticamente quando hai pianificato il trigger. I tuoi job esisteranno e le build potrebbero continuare a essere richiamate.

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

Passaggi successivi