Esegui il deployment continuo da un repository

Se hai codice sorgente o funzioni in un repository Git e vuoi automatizzare le build e configurare 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 Cloud Build per creare ed eseguire automaticamente il deployment del codice ogni volta che vengono inviati nuovi commit a un determinato ramo di un repository Git. Le informazioni sul repository di origine vengono visualizzate nella console Google Cloud 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 distribuzione continua per eseguire il deployment dei servizi Cloud Run in più ambienti.

Prima di iniziare

  • Hai un repository git con un Dockerfile o la tua base di codice è scritta in una delle lingue supportate dai buildpack di Google Cloud.
  • Enable the Cloud Build API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  • Se selezioni l'opzione Developer Connect (anteprima), 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à di servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.

Configura 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 console Google Cloud , 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. Fai clic su Connetti al repository.

  3. Seleziona Cloud Build o Developer Connect.

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

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

Servizio esistente

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

    Vai a Cloud Run

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

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

Configura 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 di un repository viene eseguita utilizzando l'app Cloud Build GitHub.

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

  2. Nel passaggio Configurazione build, compila le opzioni:

    • Ramo

      • Indica quale origine deve essere utilizzata quando viene eseguito il trigger. Puoi inserire l'regex qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene trovata corrispondenza con un solo ramo, il trigger verrà eseguito automaticamente dopo la creazione.
    • Tipo di build

      • Dockerfile: se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona questa opzione.

        • In Posizione 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 Google Cloud: se il repository deve essere creato utilizzando i buildpack, seleziona questa opzione.

        • In Directory contesto della build, specifica la directory.
        • In Entrypoint (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 torni 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.

    Verrà visualizzata la pagina Dettagli servizio, in cui potrai monitorare l'avanzamento della configurazione di creazione e deployment dal repository.

Una volta completati tutti i passaggi, puoi:

  • Fai clic su Modifica impostazioni repository nella console Cloud Run per modificare il trigger Cloud Build nella console Cloud Build.
  • Visualizza la cronologia delle build facendo clic sul link Log nel passaggio Creazione e deployment dal repository.
  • Visualizza i dettagli della fonte nella sezione Dettagli revisione.

Configurare manualmente il deployment continuo

Consulta la sezione Configurazione del deployment continuo manuale se devi utilizzare una procedura manuale e non l'interfaccia utente.

Collega il trigger Cloud Build esistente al servizio Cloud Run

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

Per aggiungere un'etichetta nella console Cloud Run:

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

    Vai a Cloud Run

  2. Seleziona il tuo 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 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.

Configura 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 scoprire di più sulla connessione a uno dei provider 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 che bloccano i 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 le istruzioni riportate di seguito. I prompt visualizzati nel browser web dipendono dal fatto che l'account GitHub abbia già installato l'app GitHub di Cloud Run.

    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 viene visualizzato 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, sceglilo 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.

    Quando la finestra di dialogo si chiude, l'installazione dell'app è completata.

    GitLab

    Per l'opzione GitLab:

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

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

      È tua responsabilità assicurarti che i 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 edizione Enterprise

    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 personali, inserisci i token per il tuo account:

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

      È tua responsabilità assicurarti che i 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. Per Workspace, inserisci il tuo ID workspace Bitbucket Cloud.

    2. Nella sezione Token di accesso, inserisci i token di accesso di 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 vuoi connetterti.

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

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

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

    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 quale origine deve essere utilizzata quando viene eseguito il trigger. Puoi inserire l'regex qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene trovata corrispondenza con un solo ramo, il trigger verrà eseguito automaticamente dopo la creazione.
    • Tipo di build

      • Dockerfile: se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona questa opzione.

        • In Posizione 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 Google Cloud: se il repository deve essere creato utilizzando i buildpack, seleziona questa opzione.

        • In Directory contesto della build, specifica la directory.
        • In Entrypoint (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 URL visualizzato per aprire l'endpoint univoco e stabile del servizio di cui è stato eseguito il deployment.