Deployment continuo da Git con Cloud Build

Puoi utilizzare Cloud Build per automatizzare le build e i deployment nella gestione Knative utilizzando il trigger di Cloud Build per creare ed eseguire il deployment del codice in modo automatico 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, le informazioni del repository di origine vengono visualizzate nella console Google Cloud per il servizio dopo il deployment sulla gestione Knative.

Prima di iniziare

  • Hai un repository Git con un Dockerfile oppure il tuo codebase è scritto in uno dei linguaggi supportati dai buildpack di Google Cloud: Go, Node.js, Python, Java o .NET Core.
  • Abilita le API Cloud Build e Cloud Source Repositories .

    Abilita le API

Configurazione del deployment continuo dall'interfaccia utente di gestione di Knative

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 scoprire di più.

Nuovo servizio

  1. Vai alla gestione di Knative nella console Google Cloud:

    Vai alla pubblicazione con Knative

  2. Fai clic su Crea servizio.

  3. Inserisci le tue preferenze nella sezione Impostazioni servizio.

  4. Tocca 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 avviene tramite l'app GitHub di Cloud Build. In alternativa, puoi eseguire il mirroring del repository GitHub in Cloud Source Repositories. A questo scopo, 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

    Passaggio 1 della configurazione del deployment continuo

  8. Tocca Avanti.

  9. Compila le opzioni nel passaggio Configurazione build:

    • Ramo: indica l'origine da utilizzare durante l'esecuzione del trigger. Puoi inserire la regex qui. I rami corrispondenti vengono verificati automaticamente: puoi vederli sotto l'input. Tieni presente che, se viene abbinata 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 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 alternativa, seleziona Google Cloud Buildpacks. Usa il contesto Buildpack per specificare la directory e il punto di ingresso (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 il comportamento predefinito.

    Passaggio 2 per configurare il deployment continuo

  10. Fai clic su Salva.

  11. Verifica le impostazioni selezionate.

    Configura la verifica del deployment continuo

  12. Fai clic su Crea.

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

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

    • Pulsante Edit Continuous Deployment (Modifica deployment continuo).
    • Cronologia build.
    • Dettagli origine nella sezione Dettagli revisione.

Servizio esistente

  1. Vai alla gestione di Knative nella console Google Cloud:

    Vai alla pubblicazione con Knative

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

  3. Fai clic su Set up Continuous Deployment (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 avviene tramite l'app GitHub di Cloud Build. In alternativa, puoi eseguire il mirroring del repository GitHub in Cloud Source Repositories. A questo scopo, 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

    Passaggio 1 della configurazione del deployment continuo

  5. Tocca Avanti.

  6. Compila le opzioni nel passaggio Configurazione build:

    • Ramo: indica l'origine da utilizzare durante l'esecuzione del trigger. Puoi inserire la regex qui. I rami corrispondenti vengono verificati automaticamente: puoi vederli sotto l'input. Tieni presente che, se viene abbinata 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 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 alternativa, seleziona Google Cloud Buildpacks. Usa il contesto Buildpack per specificare la directory e il punto di ingresso (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 il comportamento predefinito.

    Passaggio 2 per configurare il deployment continuo

  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 Edit Continuous Deployment (Modifica deployment continuo).
    • Cronologia build.
    • Dettagli origine nella sezione Dettagli revisione.

Configurazione manuale del deployment continuo

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

Collega il trigger di Cloud Build esistente al servizio di gestione Knative.

Se hai già un trigger di Cloud Build, puoi collegarlo al servizio e sfruttare le funzionalità della console Google Cloud nella pagina 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 Cloud Build come valore (non il nome del trigger). Consulta le instructions per configurare l'etichetta.