Deployment continuo da Git con Cloud Build

Puoi utilizzare Cloud Build per automatizzare build e deployment su Cloud Run utilizzando un trigger di 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. Per un esempio, consulta la 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, le informazioni sul repository di origine vengono visualizzate nella console Google Cloud per il tuo servizio dopo il deployment su Cloud Run.

In alternativa, puoi utilizzare Cloud Deploy per configurare una pipeline di continuous delivery 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.

    Enable the 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:

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 Cloud Run e Autorizzazioni IAM 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 ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.

Configurare il deployment continuo dall'interfaccia utente di Cloud Run

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

Nuovo servizio

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

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

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

    Configura il deployment continuo - Passaggio 1

  4. Fai clic su Avanti.

  5. Compila le opzioni nel passaggio Configurazione build:

    • Branch: indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare 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

      • Se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona Dockerfile. Posizione origine indica 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.

      • In caso contrario, seleziona Google Cloud Buildpacks. Utilizza Buildpack context per specificare la directory e 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 per utilizzare il comportamento predefinito.

    Configura il deployment continuo, passaggio 2

  6. Fai clic su Salva.

  7. Verifica le impostazioni selezionate.

    Configurare la verifica del deployment continuo

  8. Fai clic su Crea.

  9. Tieni presente che viene visualizzata la pagina Dettagli servizio, in cui puoi monitorare l'avanzamento della configurazione del deployment continuo.

  10. Una volta completati tutti i passaggi, prendi nota delle opzioni aggiuntive:

    • Modifica il deployment continuo.
    • Cronologia build.
    • Dettagli della fonte 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 hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. Il collegamento di un repository viene eseguito utilizzando l'app GitHub di Cloud Build.

    Configura il deployment continuo - Passaggio 1

  5. Fai clic su Avanti.

  6. Compila le opzioni nel passaggio Configurazione build:

    • Branch: indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare 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

      • Se il repository deve essere creato utilizzando Docker e contiene un Dockerfile, seleziona Dockerfile. Posizione origine indica 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.

      • In caso contrario, seleziona Google Cloud Buildpacks. Utilizza Buildpack context per specificare la directory e 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 per utilizzare il comportamento predefinito.

    Configura il deployment continuo, passaggio 2

  7. Fai clic su Salva.

  8. La pagina viene ricaricata e mostra lo stato di avanzamento della configurazione del deployment continuo.

  9. Una volta completati tutti i passaggi, prendi nota delle opzioni aggiuntive:

    • Modifica il deployment continuo.
    • Cronologia build.
    • 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 la UI.

Collega il trigger Cloud Build esistente al servizio Cloud Run.

Se hai già un trigger Cloud Build esistente, puoi collegarlo al servizio e sfruttare le funzionalità della console nella pagina Dettagli servizio: il pulsante Modifica deployment continuo e il grafico Cronologia build. Google Cloud

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