Esegui il deployment continuo da un repository

Se hai codice sorgente o funzioni in un repository Git e vuoi automatizzare le build e configurare i deployment continui da un repository, puoi utilizzare Cloud Build o Developer Connect nella console Cloud Run.

Quando configuri questa opzione, Cloud Run utilizza un trigger di build Cloud Build per creare ed eseguire automaticamente il deployment del codice ogni volta che viene eseguito il push di nuovi commit a un determinato branch di un repository Git. Le informazioni sul repository di origine vengono visualizzate nella Google Cloud console per il tuo servizio dopo il deployment su Cloud Run.

Nella console Cloud Run:

In alternativa, puoi utilizzare Cloud Deploy per configurare una pipeline di delivery continua per eseguire il deployment dei servizi Cloud Run in più ambienti.

Prima di iniziare

  • Hai un repository Git con un Dockerfile o il tuo codebase è scritto in uno dei linguaggi supportati da Google Cloud's buildpacks.
  • Abilita l'API Cloud Build.

    Ruoli richiesti per abilitare le API

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

    Abilitare l'API

  • Se selezioni l'opzione Developer Connect, abilita l'API Developer Connect:

    Abilitare l'API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire il deployment dei servizi Cloud Run da Git utilizzando Cloud Build o Developer Connect, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

Il account di servizio che esegue la build deve avere i seguenti ruoli:

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.

Configurare il deployment continuo dalla console Cloud Run

La procedura di configurazione varia leggermente a seconda che tu stia configurando il deployment continuo su un nuovo servizio o su un servizio esistente. Fai clic sulla scheda appropriata per saperne di più.

Nuovo servizio

  1. Nella Google Cloud console, vai alla pagina Cloud Run:

    Vai a Cloud Run

  2. Se stai creando un nuovo servizio, fai clic su Connetti repository per visualizzare il modulo Crea servizio.

    Se stai modificando un servizio esistente, individua il servizio nell'elenco dei servizi e fai clic su di esso. Fai clic su Connetti al repository.

  3. Seleziona Cloud Build o Developer Connect.

    1. Se hai selezionato Cloud Build, consulta Configurare con Cloud Build.

    2. Se hai selezionato Developer Connect, consulta Configurare con Developer Connect.

Servizio esistente

  1. Nella Google Cloud console, vai alla pagina Cloud Run:

    Vai a Cloud Run

  2. Individua il servizio nell'elenco dei servizi e fai clic su di esso.

  3. Fai clic su Connetti al repository e segui le istruzioni riportate in Configurare con Cloud Build.

Configurare con Cloud Build

Nel riquadro Configura con Cloud Build:

  1. Seleziona un repository dall'elenco. Tieni presente che il caricamento dell'elenco dei repository richiede alcuni istanti. Segui le istruzioni e fai clic su Avanti.

    GitHub è il fornitore di repository predefinito. Se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. La connessione a un repository viene eseguita utilizzando l'app GitHub di Cloud Build.

    Se non riesci a trovare il repository, fai clic sul link Gestisci repository connessi. Segui le istruzioni per concedere al tuo repository l'accesso a Cloud Build.

  2. Nel passaggio Configurazione build, compila le opzioni:

    • Ramo

      • Indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare regex. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che, se viene trovato esattamente un ramo, il trigger verrà eseguito automaticamente dopo la creazione.
    • Tipo di build

      • Dockerfile: se la build del repository deve essere eseguita utilizzando Docker e contiene un Dockerfile, seleziona questa opzione.

        • In Posizione di origine, specifica la posizione e il nome del Dockerfile. Questa directory verrà utilizzata come contesto della build Docker. Tutti i percorsi devono essere relativi alla directory corrente.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP tramite i buildpack di Google Cloud: Se la build del repository deve essere eseguita utilizzando i buildpack, seleziona questa opzione.

        • In Directory contesto della build, specifica la directory.
        • In Punto di ingresso (facoltativo), fornisci il comando per avviare il server. Ad esempio, gunicorn -p :8080 main:app per Python e java -jar target/myjar.jar per Java. Lascia vuoto questo campo per utilizzare il comportamento predefinito.
        • In Target funzione (solo per i deployment di funzioni), inserisci la funzione da richiamare. In caso contrario, lascia vuoto il campo.
  3. Fai clic su Salva.

  4. La pagina viene ricaricata e ti riporta al modulo Crea servizio.

  5. Verifica le impostazioni selezionate nella sezione Repository di origine.

  6. Compila il resto del modulo in Configura.

  7. Fai clic su Crea.

    Viene visualizzata la pagina Dettagli servizio, in cui puoi monitorare l'avanzamento della configurazione della build e del deployment dal repository.

Una volta completati tutti i passaggi, puoi:

  • Fare clic su Modifica impostazioni repository nella console Cloud Run per modificare il trigger di build di Cloud Build nella console Cloud Build.
  • Visualizzare la cronologia delle build facendo clic sul link log nel passaggio Build e deployment dal repository.
  • Visualizzare i dettagli dell'origine nella sezione Dettagli revisione.

Configurare manualmente il deployment continuo

Se devi utilizzare una procedura manuale e non la UI, consulta Configurare manualmente il deployment continuo.

Collegare un trigger di build Cloud Build esistente al servizio Cloud Run

Se hai già un trigger di build Cloud Build esistente, puoi collegarlo al servizio aggiungendo un'etichetta al servizio Cloud Run.

Per aggiungere un'etichetta nella console Cloud Run:

  1. Nella Google Cloud console, vai alla pagina Cloud Run:

    Vai a Cloud Run

  2. Seleziona il servizio.

  3. Per il servizio selezionato, fai clic su Etichette nella parte superiore della pagina per aprire il riquadro Etichette.

  4. Aggiungi un'etichetta con gcb-trigger-id come chiave e l'identificatore univoco del trigger di build di Cloud Build come valore (non il nome del trigger). Se la chiave gcb-trigger-id esiste già, modifica il valore. Consulta Impostare o modificare le etichette per configurare l'etichetta.

Configurare con Developer Connect

Nel riquadro Configura con Developer Connect:

  1. Seleziona un repository e fai clic su Avanti.

    Se non vedi il repository che vuoi selezionare, fai clic su Collega nuovo repository per aprire il riquadro Collega nuovi repository tramite Developer Connect. Fai clic sulla scheda appropriata per saperne di più sulla connessione a uno dei fornitori di gestione del codice sorgente.

    GitHub

    Per le opzioni GitHub, GitHub Enterprise Cloud e GitHub Enterprise , fai clic su Connetti.

    Se non vedi una finestra di dialogo, disattiva i plug-in del browser per il blocco popup e assicurati che le impostazioni del browser consentano i popup. Ad esempio, in Chrome, segui le istruzioni per consentire i popup.

    Concedi le autorizzazioni sul tuo account GitHub e collega i repository seguendo queste istruzioni. Le istruzioni visualizzate nel browser web dipendono dal fatto che l'app GitHub di Cloud Run sia già installata sull'account GitHub.

    Nella finestra di dialogo Cloud Run, completa i seguenti passaggi:

    Se vedi un elenco di account GitHub, installa l'app e collega i repository completando questi passaggi:

    1. Scegli l'account GitHub che vuoi utilizzare.

    2. Seleziona uno o più repository a cui vuoi concedere l'accesso.

    Se vedi un messaggio che ti chiede di riutilizzare un'installazione dell'app esistente, scegli dove configurare l'app completando questi passaggi:

    1. Fai clic su Account GitHub per visualizzare gli account su cui è installata l'app Google Cloud Run. Se vedi l'account che vuoi utilizzare, scegli di utilizzarlo facendo clic su Conferma.

    2. Se non vedi l'account che vuoi utilizzare, procedi nel seguente modo:

      1. Scegli Installa l'app GitHub su un altro account GitHub e fai clic su Conferma.

      2. Segui i passaggi di GitHub per consentire l'installazione dell'app.

      3. Seleziona uno o più repository a cui vuoi concedere l'accesso.

    Al termine della finestra di dialogo, l'installazione dell'app è completa.

    GitLab

    Per l'opzione GitLab:

    1. Nella sezione Token di accesso personale, inserisci i token per il tuo account:

      • Token di accesso all'API: inserisci il token di accesso personale con api ambito.
      • Token di accesso alle API in lettura: inserisci il token di accesso personale con read_api ambito.

      È tua responsabilità assicurarti che i tuoi token GitLab rimangano validi. I token GitLab hanno una durata massima di 365 giorni, se non diversamente specificato dal creatore del token o da un amministratore. Per scoprire come gestire le impostazioni e le notifiche di scadenza dei token, consulta la documentazione di GitLab sui token di accesso personale.

      Per ulteriori informazioni, consulta la documentazione di GitLab sulla scadenza dei token di accesso personale.

    2. Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.

    3. (Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per criptare i secret di Secret Manager creati da Cloud Run.

    GitLab Enterprise Edition

    Per l'opzione GitLab Enterprise Edition:

    1. In URL host, inserisci l'URL dell'host a cui vuoi connetterti.

    2. Nella sezione Token di accesso personale, inserisci i token per il tuo account:

      • Token di accesso all'API: inserisci il token di accesso personale con api ambito.
      • Token di accesso alle API in lettura: inserisci il token di accesso personale con read_api ambito.

      È tua responsabilità assicurarti che i tuoi token GitLab rimangano validi. I token GitLab hanno una durata massima di 365 giorni, se non diversamente specificato dal creatore del token o da un amministratore. Per scoprire come gestire le impostazioni e le notifiche di scadenza dei token, consulta la documentazione di GitLab sui token di accesso personale.

      Per ulteriori informazioni, consulta la documentazione di GitLab sulla scadenza dei token di accesso personale.

    3. Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.

    4. (Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per criptare i secret di Secret Manager creati da Cloud Run.

    Bitbucket

    Per l'opzione Bitbucket Cloud:

    1. In Workspace, inserisci l'ID del tuo workspace Bitbucket Cloud.

    2. Nella sezione Token di accesso, inserisci i token di accesso Bitbucket:

    3. Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.

    4. (Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per criptare i secret di Secret Manager creati da Cloud Run.

    Bitbucket Data Center

    Per l'opzione Bitbucket Data Center:

    1. In URL host, inserisci l'URL dell'host Bitbucket Data Center a cui ti vuoi connettere.

    2. Nella sezione Token di accesso, inserisci i token di accesso Bitbucket Cloud:

      • Token di accesso amministrativo: inserisci il token con accesso all'ambito repository admin.

      • Token di accesso in lettura: inserisci il token con accesso all'ambito repository read scope.

    3. Fai clic su Mostra altro per visualizzare le impostazioni di configurazione facoltative.

    4. (Facoltativo) Nella sezione Crittografia, seleziona una chiave CMEK per criptare i secret di Secret Manager creati da Cloud Run.
  2. Fai clic su Connetti. Questa procedura può richiedere alcuni secondi.

  3. Nel passaggio Configurazione build, compila le opzioni:

    • Ramo

      • Indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare regex. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che, se viene trovato esattamente un ramo, il trigger verrà eseguito automaticamente dopo la creazione.
    • Tipo di build

      • Dockerfile: se la build del repository deve essere eseguita utilizzando Docker e contiene un Dockerfile, seleziona questa opzione.

        • In Posizione di origine, specifica la posizione e il nome del Dockerfile. Questa directory verrà utilizzata come contesto della build Docker. Tutti i percorsi devono essere relativi alla directory corrente.
      • Go, Node.js, Python, Java, .NET Core, Ruby o PHP tramite i buildpack di Google Cloud: Se la build del repository deve essere eseguita utilizzando i buildpack, seleziona questa opzione.

        • In Directory contesto della build, specifica la directory.
        • In Punto di ingresso (facoltativo), fornisci il comando per avviare il server. Ad esempio, gunicorn -p :8080 main:app per Python e java -jar target/myjar.jar per Java. Lascia vuoto questo campo per utilizzare il comportamento predefinito.
        • In Target funzione (solo per i deployment di funzioni), inserisci la funzione da richiamare. In caso contrario, lascia vuoto il campo.
  4. Fai clic su Salva.

  5. Compila il resto del modulo in Configura.

  6. Al termine della configurazione del servizio, fai clic su Crea per eseguire il deployment dell'immagine su Cloud Run e attendi il completamento del deployment.

  7. Fai clic sul link dell'URL visualizzato per aprire l'endpoint univoco e stabile del servizio di cui hai eseguito il deployment.