Deployment continuo da Git con Cloud Build

Puoi usare Cloud Build per automatizzare build e deployment su Cloud Run utilizzando il trigger di Cloud Build per creare ed eseguire automaticamente il deployment del tuo codice ogni volta che viene eseguito il push di nuovi commit a un determinato ramo di un repository Git.

Quando utilizzi un trigger di Cloud Build per creare container, dopo aver eseguito il deployment in Cloud Run vengono visualizzate le informazioni del repository di codice sorgente nella console del servizio.

Prima di iniziare

  • Disponi di un repository Git con un Dockerfile o il tuo codebase è scritto in una delle lingue supportate da Google Cloud Buildpacks: Go, Node.js, Python, Java o .NET.
  • Abilita le API Cloud Build e Cloud Source Repositories .

    Abilita le API

Configurazione del deployment continuo dall'interfaccia utente di Cloud Run

La procedura varia leggermente a seconda che tu stia configurando un deployment continuo su un nuovo servizio o su un servizio esistente. Per scoprire di più, fai clic sulla scheda appropriata.

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. Seleziona il provider e il repository.

    • GitHub: se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. Per impostazione predefinita, la connessione di un repository viene eseguita tramite l'app GitHub di Cloud Build. In alternativa, puoi eseguire il mirroring del repository di GitHub in Cloud Source Repositories. Per farlo, fai clic su Opzione avanzata e seleziona Repository di repository GitHub utilizzando Cloud Source Repositories Scopri di più
    • Bitbucket: se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni.
    • Cloud Source Repositories

    Configura il passaggio 1 del deployment continuo

  4. Tocca Avanti.

  5. Completa le opzioni del passaggio Configura configurazione:

    • Ramo: indica quale origine deve essere utilizzata durante l'esecuzione del trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene restituito esattamente un 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 di origine indica la località e il nome del Dockerfile. Questa directory verrà utilizzata come contesto di compilazione Docker. Tutti i percorsi devono essere relativi alla directory corrente.

      • In caso contrario, seleziona Google Cloud Buildpacks. Usa il contesto Buildpack 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 passaggio 2 del deployment continuo

  6. Fai clic su Salva.

  7. Verifica le impostazioni selezionate.

    Configura la verifica del deployment continuo

  8. Fai clic su Crea.

  9. Tieni presente che verrai reindirizzato alla pagina Dettagli del servizio, dove puoi tenere traccia dell'avanzamento della configurazione del deployment continuo.

  10. Dopo aver completato tutti i passaggi, prendi nota di opzioni aggiuntive:

    • Pulsante Modifica deployment continuo.
    • Cronologia build.
    • I dettagli sull'origine sono disponibili nella sezione Dettagli revisione.

Servizio esistente

  1. Vai a Cloud Run

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

  3. Fai clic su Configura deployment continuo.

  4. Seleziona il provider e il repository.

    • GitHub: se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. Per impostazione predefinita, la connessione di un repository viene eseguita tramite l'app GitHub di Cloud Build. In alternativa, puoi eseguire il mirroring del repository di GitHub in Cloud Source Repositories. Per farlo, fai clic su Opzione avanzata e seleziona Repository di repository GitHub utilizzando Cloud Source Repositories Scopri di più
    • Bitbucket: se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni.
    • Cloud Source Repositories

    Configura il passaggio 1 del deployment continuo

  5. Tocca Avanti.

  6. Completa le opzioni del passaggio Configura configurazione:

    • Ramo: indica quale origine deve essere utilizzata durante l'esecuzione del trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene restituito esattamente un 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 di origine indica la località e il nome del Dockerfile. Questa directory verrà utilizzata come contesto di compilazione Docker. Tutti i percorsi devono essere relativi alla directory corrente.

      • In caso contrario, seleziona Google Cloud Buildpacks. Usa il contesto Buildpack 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 passaggio 2 del deployment continuo

  7. Fai clic su Salva.

  8. La pagina viene ricaricata e viene visualizzato l'avanzamento della configurazione del deployment continuo.

  9. Dopo aver completato tutti i passaggi, prendi nota di opzioni aggiuntive:

    • Pulsante Modifica deployment continuo.
    • Cronologia build.
    • I dettagli sull'origine sono disponibili nella sezione Dettagli revisione.

Configurazione manuale del deployment continuo

Consulta l'articolo Configurare manualmente il deployment continuo se devi utilizzare una procedura manuale e non la UI.

Collega il trigger di Cloud Build esistente al servizio Cloud Run.

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

A tale scopo, devi aggiungere un'etichetta con gcb-trigger-id come chiave e l'identificatore univoco del trigger di Cloud Build come valore (non il nome del trigger). Consulta le istruzioni per la configurazione dell'etichetta.