Compilare manualmente il codice nei repository di origine

Questa pagina spiega come creare trigger manuali per creare codice nei repository di origine. I trigger manuali possono essere utilizzati per richiamare le build manualmente, con la possibilità di sostituire i valori delle variabili di sostituzione definiti al momento della chiamata prima di eseguire una build. Puoi anche programmare l'esecuzione automatica dei trigger manuali in un momento specifico.

Per scoprire come avviare le build manualmente utilizzando la gcloud CLI o l'API Cloud Build, consulta Avvio manuale delle build.

Prima di iniziare

  • Abilita l'API Cloud Build.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  • Prepara il codice sorgente.

Trigger manuali

I trigger manuali ti consentono di configurare build che vengono eseguite solo quando richiami il trigger sui repository connessi. Ad esempio, puoi creare una pipeline per eseguire il deployment del codice sorgente in un ambiente di staging o di produzione. Potresti voler automatizzare il flusso di lavoro, ma solo eseguire le build manualmente. A questo scopo, puoi definire trigger manuali.

I trigger manuali ti consentono di richiamare manualmente le build:

  • Recuperando il codice sorgente da un repository ospitato con un ramo o un tag specificato.
  • Parametrizzando la build con sostituzioni che non devono essere passate manualmente ogni volta che esegui una build.
  • Sostituendo i valori delle variabili di sostituzione definiti al momento della chiamata prima di richiamare una build.

Se vuoi eseguire le build dalla directory di lavoro locale anziché da un repository ospitato o inviare le build senza creare un trigger, puoi eseguire il seguente comando gcloud nella directory di lavoro:

gcloud builds submit --config BUILD_CONFIG SOURCE_CODE

Dove:

  • BUILD_CONFIG è il percorso del file di configurazione della build.
  • SOURCE_CODE è il percorso o l'URL del codice sorgente.

Per scoprire di più su come utilizzare il comando gcloud per avviare le build manualmente nella directory locale, consulta Avvio manuale delle build.

Creazione di trigger manuali

Console

Per creare un trigger manuale:

  1. Apri la pagina Trigger:

    Apri la pagina Trigger

  2. Seleziona il progetto dalla parte superiore della pagina e fai clic su Apri.

  3. Fai clic su Crea trigger.

  4. Inserisci le seguenti impostazioni del trigger:

    • Nome: un nome per il trigger.
    • Regione: seleziona la regione per il trigger.

      • Se selezioni global come regione, Cloud Build utilizza il pool predefinito per eseguire la build.
      • Se selezioni una regione non globale e il file di configurazione della build associato al trigger specifica un pool privato, Cloud Build utilizza il pool privato per eseguire la build. In questo caso, la regione specificata nel trigger deve corrispondere alla regione in cui hai creato il pool privato.
      • Se selezioni una regione non globale e il file di configurazione della build associato al trigger non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la build nella stessa regione del trigger.
    • Descrizione (facoltativo): una descrizione per il trigger.

    • Evento: seleziona Richiamo manuale per configurare il trigger in modo che le build vengano eseguite solo quando il trigger viene richiamato manualmente.

    • Origine: seleziona il repository da creare quando viene eseguito il trigger manuale.

    • Generazione del repository: seleziona 2ª generazione.

    • Ramo o Tag: imposta una delle seguenti opzioni:

      • Ramo: imposta un trigger per la creazione di questo ramo. Devi specificare un valore letterale. Le espressioni regolari non sono supportate.
      • Tag: imposta un trigger per la creazione di questo tag. Devi specificare un valore letterale. Le espressioni regolari non sono supportate.
    • Configurazione: seleziona il file di configurazione della build che si trova in nel repository remoto o crea un file di configurazione della build in linea da utilizzare per la build.

      • Tipo: seleziona il tipo di configurazione da utilizzare per la build.
        • File di configurazione di Cloud Build (yaml o json): Utilizza un file di configurazione della build per la configurazione.
        • Dockerfile: utilizza un Dockerfile per la configurazione.
      • Posizione: specifica la posizione per la configurazione.

        • Repository: se il file di configurazione si trova nel repository remoto, fornisci la posizione del file di configurazione della build, della directory Dockerfile o della directory dei buildpack. Se il tipo di configurazione della build è un Dockerfile o un buildpack, dovrai fornire un nome per l'immagine risultante e, facoltativamente, un timeout per la build. Dopo aver fornito il nome dell'immagine Dockerfile o buildpack, vedrai un'anteprima del comando docker build o pack che verrà eseguito dalla build.
        • In linea: se hai selezionato File di configurazione di Cloud Build (yaml o json) come opzione di configurazione, puoi specificare la configurazione di compilazione in linea. Fai clic su Apri editor per scrivere il file di configurazione della build nella Google Cloud console utilizzando la sintassi YAML o JSON. Fai clic su Fine per salvare la configurazione della build.
  5. Fai clic su Crea per creare il trigger manuale.

gcloud

Per creare un trigger manuale:

  1. Apri una finestra del terminale.
  2. Esegui il seguente comando gcloud per creare un trigger di build nel progetto:

    gcloud builds triggers create manual \
      --region=REGION \
      --name=TRIGGER_NAME \
      --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
      --branch=BRANCH_NAME \
      --build-config=BUILD_CONFIG_FILE \
      --service-account=SERVICE_ACCOUNT
    

Dove:

  • REGION è la regione per il trigger.
  • TRIGGER_NAME è il nome del trigger.
  • PROJECT_ID è l'ID progetto. Google Cloud
  • CONNECTION_NAME è il nome della connessione host.
  • REPO_NAME è il nome del repository.
  • BRANCH_NAME è il nome del ramo. Puoi anche specificare un tag utilizzando --tag o un ID commit utilizzando --sha.
  • BUILD_CONFIG_FILE è il percorso del file di configurazione della build. Puoi anche specificare un file di configurazione di compilazione in linea utilizzando --inline-config o un Dockerfile utilizzando --dockerfile, --dockerfile-dir e dockerfile-image.
  • SERVICE_ACCOUNT è l'indirizzo email associato al account di servizio. Se non includi questo flag, viene utilizzato un service account predefinito.

Per un elenco completo dei flag, consulta il gcloud riferimento per scoprire come creare trigger manuali.

Esecuzione di trigger manuali

Console

Per eseguire un trigger manuale utilizzando la console: Google Cloud

  1. Apri la pagina Trigger nella Google Cloud console.

    Apri la pagina Trigger

  2. Individua il trigger nell'elenco.

  3. Fai clic su Esegui trigger.

    Dopo aver fatto clic su Esegui trigger, vedrai il riquadro della finestra Esegui trigger sul lato destro. Se hai specificato campi come un nome di ramo, un nome di tag o variabili di sostituzione, potrai sostituire questi campi al momento della chiamata.

    Se il trigger utilizza un repository con più di 500 rami o tag, alcuni di questi potrebbero non essere presenti nei suggerimenti. Puoi comunque inserire manualmente un nome di ramo o tag.

    Se hai specificato nuovi valori di variabili per la sostituzione, fai clic su Esegui trigger per eseguire la build.

    Per eseguire i trigger manuali in base a una pianificazione, consulta Pianificazione delle build.

gcloud

Per eseguire un trigger manuale utilizzando lo strumento a riga di comando gcloud, esegui il seguente comando:

      gcloud builds triggers run TRIGGER_NAME \
         --region=REGION \
         --branch=BRANCH_NAME \
         --substitutions=SUBSTITUTION_VAR=SUBSTITUTION_VALUE

Dove:

  • TRIGGER_NAME è il nome del trigger.
  • REGION è la regione per il trigger.
  • BRANCH_NAME è il nome del ramo. Puoi anche specificare un tag utilizzando --tag o un ID commit utilizzando --sha.
  • SUBSTITUTION_VAR (facoltativo) è il nome della variabile per il valore di sostituzione.
  • SUBSTITUTION_VALUE (Optional) is the value associated with your substitution variable.

Per eseguire i trigger manuali in base a una pianificazione, consulta Pianificazione delle build.

Passaggi successivi