Puoi utilizzare Cloud Build per automatizzare build e deployment in Cloud Run 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. Ad esempio, consulta la guida rapida per creare un repository di modelli ed eseguire il deployment continuo da git.
Quando utilizzi un trigger di Cloud Build per creare container, vengono visualizzate le informazioni del repository di origine nella console Google Cloud per il 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 il tuo codebase è scritto in uno dei linguaggi supportati dai buildpack di Google Cloud. -
Attiva l'API Cloud Build .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eseguire il deployment dei servizi Cloud Run da Git mediante Cloud Build, chiedi all'amministratore di concederti i seguenti ruoli IAM nel tuo progetto:
-
Amministratore 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 Service Usage (
roles/serviceusage.serviceUsageAdmin
)
L'account di servizio che esegue la build deve avere i ruoli seguenti:
- Account di servizio 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 tuo servizio Cloud Run si interfaccia con le API Google Cloud, ad esempio le librerie client di Cloud, consulta la guida alla configurazione delle identità dei servizi. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.
Configura il deployment continuo dall'interfaccia utente di Cloud Run
La procedura di configurazione varia leggermente a seconda che si 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
Crea un nuovo servizio come descritto in Eseguire il deployment di un nuovo servizio, assicurati 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 fornitore 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:
- Ramo: indica quale origine deve essere utilizzata quando si esegue il trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se corrisponde esattamente a 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. La posizione di origine indica la posizione e il nome del Dockerfile. Questa directory verrà usata come contesto della build Docker. Tutti i percorsi devono essere relativi alla directory corrente.
In alternativa, seleziona Google Cloud Buildpacks. Utilizza Buildpack context per specificare la directory e l'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 il campo per utilizzare il comportamento predefinito.
Fai clic su Salva.
Verifica le impostazioni selezionate.
Fai clic su Crea.
Tieni presente che il sistema ti reindirizzerà alla pagina Dettagli servizio, dove potrai monitorare l'avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, aggiungi altre opzioni:
- 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.
Fai clic su Configura il deployment continuo.
GitHub è il fornitore 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:
- Ramo: indica quale origine deve essere utilizzata quando si esegue il trigger. Puoi inserire l'espressione regolare qui. I rami corrispondenti vengono verificati automaticamente: puoi visualizzarli sotto l'input. Tieni presente che se corrisponde esattamente a 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. La posizione di origine indica la posizione e il nome del Dockerfile. Questa directory verrà usata come contesto della build Docker. Tutti i percorsi devono essere relativi alla directory corrente.
In alternativa, seleziona Google Cloud Buildpacks. Utilizza Buildpack context per specificare la directory e l'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 il campo 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, aggiungi altre opzioni:
- Modifica il deployment continuo.
- Cronologia build.
- Dettagli dell'origine nella sezione Dettagli revisione.
Configura manualmente il deployment continuo
Consulta Configurare manualmente il deployment continuo se devi utilizzare una procedura manuale e non la UI.
Collega trigger Cloud Build esistente al servizio Cloud Run.
Se hai già un trigger Cloud Build, puoi collegarlo al servizio e sfruttare le funzionalità della console Google Cloud nella pagina Dettagli servizio: pulsante Modifica deployment continuo e grafico Cronologia di build.
Per farlo, aggiungi 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 Impostare o modificare le etichette per configurarle.