Puoi utilizzare Cloud Build per automatizzare le build e i deployment su Cloud Run utilizzando l'trigger di Cloud Build per eseguire automaticamente la build e il deployment del codice ogni volta che vengono eseguiti push di nuovi commit su un determinato ramo di un repository Git. Per un esempio, consulta la guida introduttiva per la creazione di un repository di modelli e il deployment continuo da git.
Quando utilizzi un trigger Cloud Build per creare i container, le informazioni del repository di origine vengono visualizzate nella console Google Cloud per il tuo servizio dopo il deployment in Cloud Run.
In alternativa, puoi utilizzare Cloud Deploy per configurare una pipeline di distribuzione continua 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 uno dei linguaggi supportati dai buildpack di Google Cloud. -
Enable the Cloud Build 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 nel tuo progetto:
-
Amministratore di Artifact Registry (
roles/artifactregistry.admin
) -
Editor Cloud Build (
roles/cloudbuild.builds.editor
) -
Sviluppatore Cloud Run (
roles/run.developer
) -
Utente account di servizio (
roles/iam.serviceAccountUser
) -
Amministratore utilizzo servizio (
roles/serviceusage.serviceUsageAdmin
)
L'account di servizio che esegue la compilazione deve avere i seguenti ruoli:
- Service account Cloud Build (
roles/cloudbuild.builds.builder
) - Amministratore Cloud Run (
roles/run.admin
) - Utente account di servizio (
roles/iam.serviceAccountUser
)
Per un elenco dei ruoli e delle autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il servizio Cloud Run interagisce con le API Google Cloud, come le librerie client di Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta le autorizzazioni di deployment e gestisci l'accesso.
Configurare il deployment continuo dall'interfaccia utente di Cloud Run
La procedura di configurazione 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
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 origine nella pagina Impostazioni servizio.
Nella pagina Impostazioni servizio, fai clic su Configura con Cloud Build.
GitHub è il provider di repository predefinito. Se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. La connessione di un repository viene eseguita utilizzando l'app GitHub di Cloud Build.
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
- Branch: indica quale origine deve essere utilizzata durante l'esecuzione dell'attivatore. Puoi inserire la regex qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene trovato esattamente un ramoscegno corrispondente, l'attivatore verrà eseguito automaticamente dopo la creazione.
Tipo di build
Se il tuo repository deve essere compilato 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 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.
Fai clic su Salva.
Verifica le impostazioni selezionate.
Fai clic su Crea.
Tieni presente che verrà visualizzata la pagina Dettagli servizio, in cui potrai monitorare l'avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, tieni presente le opzioni aggiuntive:
- Modifica il deployment continuo.
- Cronologia build.
- Dettagli dell'origine nella sezione Dettagli revisione.
Servizio esistente
Individua il servizio nell'elenco dei servizi e fai clic su di esso.
Fai clic su Configura il deployment continuo.
GitHub è il provider di repository predefinito. Se non hai ancora eseguito l'autenticazione, fai clic su Autentica e segui le istruzioni. La connessione di un repository viene eseguita utilizzando l'app GitHub di Cloud Build.
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
- Branch: indica quale origine deve essere utilizzata durante l'esecuzione dell'attivatore. Puoi inserire la regex qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se viene trovato esattamente un ramoscegno corrispondente, l'attivatore verrà eseguito automaticamente dopo la creazione.
Tipo di build
Se il tuo repository deve essere compilato 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 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.
Fai clic su Salva.
La pagina viene ricaricata e viene visualizzato lo stato di avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, tieni presente le opzioni aggiuntive:
- Modifica il deployment continuo.
- Cronologia build.
- Dettagli dell'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.
Collega l'attivatore Cloud Build esistente al servizio Cloud Run.
Se hai già un attivatore Cloud Build, puoi collegarlo al servizio e sfruttare le funzionalità della console Google Cloud nella pagina Dettagli servizio: pulsante Modifica il deployment continuo e grafico Cronologia build.
A tale scopo, aggiungi un'etichetta con gcb-trigger-id come chiave e l'identificatore univoco dell'attivatore Cloud Build come valore (non il nome dell'attivatore). Per informazioni su come configurare l'etichetta, consulta Impostare o modificare le etichette.