Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Puoi utilizzare Cloud Build per automatizzare build e deployment su Cloud Run utilizzando un trigger di 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. Per un esempio, consulta la
guida rapida per creare un repository di modelli ed eseguire il deployment continuo da
git.
In alternativa, puoi utilizzare Cloud Deploy per configurare una pipeline di continuous delivery
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 una delle lingue supportate dai
buildpack di Google Cloud.
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 progetto:
Configurare il deployment continuo dall'interfaccia utente di Cloud Run
La procedura di configurazione varia leggermente a seconda che tu stia configurando
l'implementazione continua 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 Esegui 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 del 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.
Il collegamento di un repository viene eseguito utilizzando l'app Cloud Build GitHub.
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
Branch: indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare
qui. I rami corrispondenti vengono verificati automaticamente: puoi
visualizzarli sotto l'input. Tieni presente che se viene trovata
corrispondenza con un solo 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 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
Buildpack context 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 viene visualizzata la pagina Dettagli servizio, in cui puoi monitorare l'avanzamento della configurazione del deployment continuo.
Una volta completati tutti i passaggi, prendi nota delle opzioni aggiuntive:
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.
Il collegamento di un repository viene eseguito utilizzando l'app Cloud Build GitHub.
Fai clic su Avanti.
Compila le opzioni nel passaggio Configurazione build:
Branch: indica l'origine da utilizzare quando viene eseguito il trigger. Puoi inserire l'espressione regolare
qui. I rami corrispondenti vengono verificati automaticamente: puoi
visualizzarli sotto l'input. Tieni presente che se viene trovata
corrispondenza con un solo 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 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
Buildpack context 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 mostra lo stato di avanzamento della
configurazione del deployment continuo.
Una volta completati tutti i passaggi, prendi nota delle opzioni aggiuntive:
Collega il trigger Cloud Build esistente al servizio Cloud Run.
Se hai già un trigger Cloud Build esistente, puoi collegarlo al servizio e sfruttare le funzionalità della console nella pagina Dettagli servizio: il pulsante Modifica deployment continuo e il grafico Cronologia build. Google Cloud
Per farlo, aggiungi un'etichetta con gcb-trigger-id come chiave e
l'identificatore univoco del trigger Cloud Build come valore (non il nome
del trigger). Consulta Impostare o modificare le etichette per
configurare l'etichetta.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Continuous deployment from Git using Cloud Build\n\nYou can use Cloud Build to automate builds and deployments to\nCloud Run by using [Cloud Build trigger](/build/docs/running-builds/automate-builds)\nto automatically build and deploy your code whenever new commits are pushed to\na given branch of a Git repository. For an example, see the\nquickstart for [creating a template repository and deploying continuously from\ngit](/run/docs/quickstarts/deploy-continuously).\n\nWhen you use a Cloud Build trigger to build containers, the\n[source repository information is displayed](/run/docs/managing/revisions#build-source)\nin the Google Cloud console for your service after you deploy to\nCloud Run.\n\nAlternatively, you can use [Cloud Deploy](/deploy/docs/deploy-app-run) to set up a continuous-delivery\npipeline to deploy Cloud Run services to multiple environments.\n\nBefore you begin\n----------------\n\n- You either have a git repository with a `Dockerfile` or your codebase is written in one of the languages supported by [Google Cloud's buildpacks](/docs/buildpacks/builders).\n-\n\n\n Enable the Cloud Build\n API.\n\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=cloudbuild.googleapis.com)\n\n### Required roles\n\n\nTo get the permissions that\nyou need to deploy Cloud Run services from Git using Cloud Build,\n\nask your administrator to grant you the\nfollowing IAM roles on your project:\n\n- [Artifact Registry Administrator](/iam/docs/roles-permissions/artifactregistry#artifactregistry.admin) (`roles/artifactregistry.admin`)\n- [Cloud Build Editor](/iam/docs/roles-permissions/cloudbuild#cloudbuild.builds.editor) (`roles/cloudbuild.builds.editor`)\n- [Cloud Run Developer](/iam/docs/roles-permissions/run#run.developer) (`roles/run.developer`)\n- [Service Account User](/iam/docs/roles-permissions/iam#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`)\n- [Service Usage Admin](/iam/docs/roles-permissions/serviceusage#serviceusage.serviceUsageAdmin) (`roles/serviceusage.serviceUsageAdmin`)\n\n\nThe service account running the build must have the following roles:\n\n- [Cloud Build Service Account](/iam/docs/understanding-roles#cloudbuild.builds.builder) (`roles/cloudbuild.builds.builder`)\n- [Cloud Run Admin](/iam/docs/understanding-roles#run.admin) (`roles/run.admin`)\n- [Service Account User](/iam/docs/understanding-roles#iam.serviceAccountUser) (`roles/iam.serviceAccountUser`)\n\nFor a list of IAM roles and permissions that are associated with\nCloud Run, see\n[Cloud Run IAM roles](/run/docs/reference/iam/roles)\nand [Cloud Run IAM permissions](/run/docs/reference/iam/permissions).\nIf your Cloud Run service interfaces with\nGoogle Cloud APIs, such as Cloud Client Libraries, see the\n[service identity configuration guide](/run/docs/configuring/services/service-identity).\nFor more information about granting roles, see\n[deployment permissions](/run/docs/reference/iam/roles#additional-configuration)\nand [manage access](/iam/docs/granting-changing-revoking-access).\n\nSet up continuous deployment from the Cloud Run user interface\n--------------------------------------------------------------\n\nThe setup procedure varies slightly depending on whether you are setting up\ncontinuous deployment on a new service or on an existing service. Click the\nappropriate tab to learn more. \n\n### New service\n\n1. Create a new service as described in [Deploy a new service](/run/docs/deploying#service),\n making sure you select **Continuously deploy new revisions from a source repository**\n in the *Service settings* page.\n\n2. In the *Service settings* page, click **Set up with Cloud Build**.\n\n3. GitHub is the default repository provider. If you are not yet\n authenticated, click **Authenticate** and follow the instructions.\n Connecting a repository is done using the Cloud Build GitHub app.\n\n4. Click **Next**.\n\n5. Fill the options in Build Configuration step:\n\n - *Branch* - indicates what source should be used when running the trigger. You can put the [regex](https://github.com/google/re2/wiki/Syntax) here. Matched branches are automatically verified: you can see them below the input. Note that if exactly one branch is matched, the trigger will be automatically executed after the creation.\n - *Build Type*\n\n - If your repository should be built using Docker and it contains a\n Dockerfile, select **Dockerfile** . **Source location** indicates the\n location and name of the Dockerfile. This directory will be used as the\n Docker build context. All paths should be relative to the current\n directory.\n\n - Otherwise, select **Google Cloud Buildpacks** . Use\n **Buildpack context** to specify the directory and **Entrypoint**\n (optional) to provide the command to start the server. Example:\n `gunicorn -p :8080 main:app` for Python,\n `java -jar target/myjar.jar` for Java. Leave it blank to use\n [default behavior](/docs/buildpacks/service-specific-configs#google_entrypoint).\n\n6. Click **Save**.\n\n7. Verify the selected settings.\n\n8. Click **Create**.\n\n9. Note that you are redirected to the *Service Details* page, where you can\n track the progress of your Continuous Deployment set up.\n\n10. Once all steps are completed, note additional options:\n\n - Edit Continuous Deployment.\n - Build History.\n - Source details in the [*Revision Details* section](/run/docs/managing/revisions#viewing_revision_details).\n\n### Existing service\n\n1. [Go to Cloud Run](https://console.cloud.google.com/run)\n\n2. Locate the service in the services list, and click it.\n\n3. Click **Set up Continuous Deployment**.\n\n4. GitHub is the default repository provider. If you are not yet\n authenticated, click **Authenticate** and follow the instructions.\n Connecting a repository is done using the Cloud Build GitHub app.\n\n5. Click **Next**.\n\n6. Fill the options in Build Configuration step:\n\n - *Branch* - indicates what source should be used when running the trigger. You can put the [regex](https://github.com/google/re2/wiki/Syntax) here. Matched branches are automatically verified: you can see them below the input. Note that if exactly one branch is matched, the trigger will be automatically executed after the creation.\n - *Build Type*\n\n - If your repository should be built using Docker and it contains a\n Dockerfile, select **Dockerfile** . **Source location** indicates the\n location and name of the Dockerfile. This directory will be used as the\n Docker build context. All paths should be relative to the current\n directory.\n\n - Otherwise, select **Google Cloud Buildpacks** . Use\n **Buildpack context** to specify the directory and **Entrypoint**\n (optional) to provide the command to start the server. Example:\n `gunicorn -p :8080 main:app` for Python,\n `java -jar target/myjar.jar` for Java. Leave it blank to use\n [default behavior](/docs/buildpacks/service-specific-configs#google_entrypoint).\n\n7. Click **Save**.\n\n8. The page reloads and displays the progress of the\n Continuous Deployment setup.\n\n9. Once all steps are completed, note additional options:\n\n - Edit Continuous Deployment.\n - Build History.\n - Source details in the [*Revision Details* section](/run/docs/managing/revisions#viewing_revision_details).\n\nSet up continuous deployment manually\n-------------------------------------\n\nRefer to [Setting up continuous deployment manually](/build/docs/deploying-builds/deploy-cloud-run) if you\nneed to use a manual procedure and not the UI.\n\nAttach existing Cloud Build trigger to Cloud Run service.\n---------------------------------------------------------\n\nIf you already have an existing Cloud Build trigger, you can attach it to\nthe service and take advantage of Google Cloud console features in the Service\nDetails page: *Edit Continuous Deployment* button and *Build History* chart.\n\nTo do this, add a label with \u003cvar translate=\"no\"\u003egcb-trigger-id\u003c/var\u003e as a key and\nthe unique identifier of the Cloud Build trigger as value (not the trigger\nname). See [Set or modify labels](/run/docs/configuring/services/labels#set-labels) for\nsetting up the label."]]