Puoi utilizzare Cloud Build per automatizzare le build e i deployment in Knative serving utilizzando il trigger di Cloud Build per creare ed eseguire automaticamente il deployment del 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, le informazioni sul repository di origine vengono visualizzate nella Google Cloud console per il tuo servizio dopo il deployment in Knative serving.
Prima di iniziare
- Hai un repository Git con un
Dockerfileo la tua codebase è scritta in uno dei linguaggi supportati da Google Cloud's buildpacks: Go, Node.js, Python, Java o .NET Core. Abilita le API Cloud Build e Cloud Source Repositories.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.
Configurare il 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
Vai a Knative serving nella Google Cloud console:
Fai clic su Crea servizio.
Compila le Impostazioni servizio con le tue preferenze.
Fai clic su Avanti.
Seleziona Esegui il deployment continuo di nuove revisioni da un repository codice sorgente.
Fai clic su Configura con Cloud Build.
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 Cloud Build GitHub. 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
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
- Ramo : 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 trovato 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 caso contrario, seleziona Buildpack Google Cloud. Utilizza Contesto buildpack per specificare la directory e Punto di ingresso (facoltativo) per fornire il comando per avviare il server. Esempio:
gunicorn -p :8080 main:appper Python,java -jar target/myjar.jarper Java. Lascia vuoto per utilizzare il comportamento predefinito.
Fai clic su Salva.
Verifica le impostazioni selezionate.
Fai clic su Crea.
Tieni presente che verrai reindirizzato alla pagina Dettagli servizio, dove potrai monitorare l'avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, tieni presente le opzioni aggiuntive:
- Pulsante Modifica il deployment continuo.
- Cronologia build.
- Dettagli sull'origine nella sezione Dettagli revisione.
Servizio esistente
Vai a Knative serving nella Google Cloud console:
Individua il servizio nell'elenco dei servizi e fai clic su di esso.
Fai clic su Configura il deployment continuo.
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 Cloud Build GitHub. 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
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
- Ramo : 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 trovato 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 caso contrario, seleziona Buildpack Google Cloud. Utilizza Contesto buildpack per specificare la directory e Punto di ingresso (facoltativo) per fornire il comando per avviare il server. Esempio:
gunicorn -p :8080 main:appper Python,java -jar target/myjar.jarper Java. Lascia vuoto per utilizzare il comportamento predefinito.
Fai clic su Salva.
La pagina si ricarica e mostra l'avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, tieni presente le opzioni aggiuntive:
- Pulsante Modifica il deployment continuo.
- Cronologia build.
- Dettagli sull'origine nella sezione Dettagli revisione.
Configurare manualmente il deployment continuo
Consulta la sezione Configurare manualmente il deployment continuo se devi utilizzare una procedura manuale e non l'interfaccia utente.
Collegare il trigger di Cloud Build esistente al servizio Knative serving.
Se hai già un trigger di Cloud Build, puoi collegarlo al servizio e sfruttare le funzionalità della Google Cloud console nella pagina dei dettagli del servizio: Modifica il deployment continuo e il 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 istruzioni per configurare l'etichetta.