Deployment continuo da Git con Cloud Build

Puoi usare Cloud Build per automatizzare build e deployment Cloud Run mediante il trigger di Cloud Build per creare ed eseguire automaticamente il deployment del codice ogni volta che viene eseguito il push di nuovi commit di un determinato ramo di un repository Git. Per un esempio, vedi Guida rapida per creare un repository di modelli ed eseguire il deployment continuo da git.

Quando utilizzi un trigger di Cloud Build per creare container, vengono visualizzate informazioni sul repository di codice sorgente nella console Google Cloud per il tuo servizio dopo il deployment in Cloud Run.

In alternativa, puoi utilizzare Cloud Deploy per configurare una distribuzione 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 è scritte in una delle lingue supportate Buildpack di Google Cloud.
  • Attiva l'API Cloud Build .

    Abilita l'API

Ruoli obbligatori

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

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

Per un elenco di ruoli e autorizzazioni IAM associati Cloud Run, consulta Ruoli IAM di Cloud Run e le autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run si interfaccia con Le API Google Cloud, come le librerie client di Cloud, consultano guida alla configurazione dell'identità dei servizi. Per ulteriori informazioni sulla concessione dei ruoli, consulta autorizzazioni di deployment e gestire l'accesso.

Configura il deployment continuo dall'interfaccia utente di Cloud Run

La procedura di configurazione varia leggermente a seconda che tu stia configurando su un nuovo servizio o su uno esistente. Fai clic sull' appropriata per saperne di più.

Nuovo servizio

  1. Crea un nuovo servizio come descritto in Eseguire il deployment di un nuovo servizio. assicurandoti di selezionare Esegui il deployment continuo di nuove revisioni da un repository di codice sorgente nella pagina Impostazioni servizio.

  2. Nella pagina Impostazioni servizio, fai clic su Configura con Cloud Build.

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

    Passaggio 1 della configurazione del deployment continuo

  4. Fai clic su Avanti.

  5. Compila le opzioni nel passaggio Configurazione build:

    • Ramo - indica quale origine deve essere utilizzata quando si esegue trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi sotto l'input. Tieni presente che se esattamente un ramo viene la corrispondenza, il trigger verrà eseguito automaticamente dopo per la creazione di contenuti.
    • Tipo di build

      • Se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona Dockerfile. La località della sorgente indica posizione e nome del Dockerfile. Questa directory verrà utilizzata come Contesto della build Docker. Tutti i percorsi devono essere relativi all'attuale .

      • In alternativa, seleziona Google Cloud Buildpacks. Utilizza le funzionalità di Buildpack context per specificare la directory e il Entrypoint (facoltativo) per fornire il comando per avviare il server. Esempio: gunicorn -p :8080 main:app per Python, java -jar target/myjar.jar per Java. Lascia vuoto il campo per utilizzare comportamento predefinito.

    Passaggio 2 Configura il deployment continuo

  6. Fai clic su Salva.

  7. Verifica le impostazioni selezionate.

    Configura la verifica continua del deployment

  8. Fai clic su Crea.

  9. Tieni presente che il sistema ti reindirizzerà alla pagina Dettagli servizio, dove potrai e monitorare l'avanzamento della configurazione del deployment continuo.

  10. Una volta completati tutti i passaggi, aggiungi altre opzioni:

    • Modifica il deployment continuo.
    • Cronologia build.
    • Dettagli dell'origine nella sezione Dettagli revisione.

Servizio esistente

  1. Vai a Cloud Run

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

  3. Fai clic su Configura il deployment continuo.

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

    Passaggio 1 della configurazione del deployment continuo

  5. Fai clic su Avanti.

  6. Compila le opzioni nel passaggio Configurazione build:

    • Ramo - indica quale origine deve essere utilizzata quando si esegue trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi sotto l'input. Tieni presente che se esattamente un ramo viene la corrispondenza, il trigger verrà eseguito automaticamente dopo per la creazione di contenuti.
    • Tipo di build

      • Se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona Dockerfile. La località della sorgente indica posizione e nome del Dockerfile. Questa directory verrà utilizzata come Contesto della build Docker. Tutti i percorsi devono essere relativi all'attuale .

      • In alternativa, seleziona Google Cloud Buildpacks. Utilizza le funzionalità di Buildpack context per specificare la directory e il Entrypoint (facoltativo) per fornire il comando per avviare il server. Esempio: gunicorn -p :8080 main:app per Python, java -jar target/myjar.jar per Java. Lascia vuoto il campo per utilizzare comportamento predefinito.

    Passaggio 2 Configura il deployment continuo

  7. Fai clic su Salva.

  8. La pagina si ricarica e mostra l'avanzamento del Configurazione del deployment continuo.

  9. Una volta completati tutti i passaggi, aggiungi altre opzioni:

    • Modifica il deployment continuo.
    • Cronologia build.
    • Dettagli dell'origine nella sezione Dettagli revisione.

Configura manualmente il deployment continuo

Consulta l'articolo Configurare manualmente il deployment continuo per usare una procedura manuale e non la UI.

Collega trigger Cloud Build esistente al servizio Cloud Run.

Se hai già un trigger Cloud Build, puoi collegarlo a il servizio e sfruttare le funzionalità della console Google Cloud all'interno del servizio Pagina dei dettagli: pulsante Modifica deployment continuo e grafico Cronologia build.

Per farlo, aggiungi un'etichetta con gcb-trigger-id come chiave e L'identificatore univoco del trigger di Cloud Build come valore (non il trigger ). Consulta Impostare o modificare le etichette per per configurare l'etichetta.