Deployment continuo da Git con Cloud Build

Puoi utilizzare Cloud Build per automatizzare le build e i deployment in Knative Serving utilizzando il trigger di build 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.

Quando utilizzi un trigger di build Cloud Build per creare container, le informazioni sul repository di origine vengono visualizzate nella console Google Cloud per il tuo servizio dopo il deployment in Knative Serving.

Prima di iniziare

  • Hai un repository Git con un Dockerfile o la tua base di codice è scritta in uno dei linguaggi supportati dai buildpack Google Cloud: Go, Node.js, Python, Java o .NET Core.
  • Abilita le API Cloud Build e Cloud Source Repositories, se non sono già abilitate.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilita le API

Configurazione del deployment continuo dall'interfaccia utente di Knative Serving

La procedura 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. Vai a Knative Serving nella console Google Cloud :

    Vai a Knative serving

  2. Fai clic su Crea servizio.

  3. Compila la sezione Impostazioni servizio con le tue preferenze.

  4. Fai clic su Avanti.

  5. Seleziona Esegui il deployment continuo di nuove revisioni da un repository di codice sorgente.

    Configura con Cloud Build

  6. Fai clic su Configura con Cloud Build.

  7. 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 GitHub in Cloud Source Repositories. Per farlo, fai clic su Opzione avanzata e seleziona Esegui il mirroring del 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 deployment continuo - Passaggio 1

  8. Fai clic su Avanti.

  9. Compila le opzioni nel passaggio Configurazione build:

    • Branch: indica l'origine da utilizzare 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 esattamente una filiale, 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 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 deployment continuo - Passaggio 2

  10. Fai clic su Salva.

  11. Verifica le impostazioni selezionate.

    Configurare la verifica del deployment continuo

  12. Fai clic su Crea.

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

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

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

Servizio esistente

  1. Vai a Knative Serving nella console Google Cloud :

    Vai a Knative serving

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

  3. Fai clic su Configura il 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 GitHub in Cloud Source Repositories. Per farlo, fai clic su Opzione avanzata e seleziona Esegui il mirroring del 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 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'regex qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene trovata esattamente una filiale, 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 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 deployment continuo - Passaggio 2

  7. Fai clic su Salva.

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

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

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

Configurazione manuale del deployment continuo

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

Collega il trigger di build Cloud Build esistente al servizio Knative Serving.

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

Per farlo, devi aggiungere 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). Consulta le istruzioni per configurare l'etichetta.