Automatizza i deployment di App Engine con Cloud Build
Questa guida rapida mostra come eseguire automaticamente il deployment di un'app archiviata in Cloud Source Repositories in App Engine dopo un nuovo commit.
Prima di iniziare
- Completa i passaggi descritti in
Crea un repository di codice in Cloud Source Repositories.
Dopo aver completato la guida rapida, hai un'app di cui puoi eseguire il deployment in App Engine.
Abilita le API App Engine Admin, Cloud Build.
Concedi a App Engine l'accesso all'account di servizio Cloud Build
Cloud Build utilizza un account di servizio per il deployment del tuo codice. Le autorizzazioni predefinite per questo account non consentono determinate azioni, come il deployment in App Engine.
Abilita l'account di servizio per eseguire il deployment in App Engine concedendo all'account ruoli IAM (Identity and Access Management) aggiuntivi:
In Google Cloud Console, apri la pagina Impostazioni di Cloud Build:
Apri la pagina Impostazioni di Cloud Build
Viene visualizzata la pagina Autorizzazioni dell'account di servizio:
Imposta lo stato del ruolo Amministratore App Engine su Abilita.
Esegui il deployment dell'app
In una finestra del terminale, vai alla directory contenente il repository:
cd hello-world
Distribuisci l'applicazione di esempio:
gcloud app deploy app.yaml
Verifica che l'app sia in esecuzione:
gcloud app browse
Se la tua app è in esecuzione, nel browser viene visualizzato il messaggio
Hello, World!
.
Crea un file cloudbuild.yaml
In una finestra del terminale, vai alla directory contenente il repository:
cd hello-world
Utilizzando un editor di testo, crea un file denominato
cloudbuild.yaml
e incolla le seguenti informazioni di configurazione:steps: - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] timeout: "1600s"
Aggiungi il file cloudbuild.yaml al tuo repository
Aggiungi
cloudbuild.yaml
al repository:git add .
Esegui il commit del file con un commento che descrive la cronologia di questa azione:
git commit -m "Add cloudbuild.yaml file"
Utilizzando il comando
git push
, aggiungi i contenuti del repository Git locale a Cloud Source Repositories:git push origin master
Crea un trigger di build
Nella console di GCP, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.
Fai clic su Crea trigger.
Viene visualizzata la pagina Crea trigger.
Compila le seguenti opzioni:
- Nel campo Nome, digita
app-engine-test
. - In Evento, seleziona Push al ramo.
- In Origine, seleziona
hello-world
come Repository e^master$
come Ramo. - In Configurazione, seleziona File di configurazione di Cloud Build (yaml o json).
- Nel campo Posizione file di configurazione Cloud Build,
digita
cloudbuild.yaml
dopo/
.
- Nel campo Nome, digita
Fai clic su Crea per salvare il trigger di build.
Esegui il push di una modifica alla tua app
In una finestra del terminale, utilizza un editor di testo per aggiornare il file
main.py
incollando il codice seguente:#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('I update automatically!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
Aggiungi il file a Git:
git add .
Esegui il commit del file con un commento che descrive la cronologia di questa azione:
git commit -m "Update app to demonstrate build triggers"
Utilizzando il comando
git push
, aggiungi i contenuti del repository Git locale a Cloud Source Repositories:git push origin master
Visualizzare la build in corso
Nella console di GCP, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.
Fai clic su Cronologia.
Viene visualizzato un elenco di tutte le build. Nella parte superiore è presente una nuova voce che rappresenta la build avviata dopo il push della modifica a Cloud Source Repositories. Quando la build è pronta, viene visualizzato un segno di spunta verde accanto alla voce della build.
Ripeti il test dell'app
In una finestra del terminale, apri l'app:
gcloud app browse
Ora il browser visualizza il messaggio I update automatically!
.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi:
Elimina il trigger di build
Nella console di GCP, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.
Sulla stessa riga dell'attivatore che vuoi eliminare, fai clic su Altro more_vert e poi su Elimina.
Elimina il repository
Nella console di GCP, apri la pagina Tutti i repository per Cloud Source Repositories.
Tieni il puntatore del mouse sul repository che vuoi eliminare e fai clic su Impostazioni settings.
Viene visualizzata la pagina Impostazioni generali.
Fai clic su Elimina questo repository delete.
Viene visualizzata la finestra di dialogo Rimuovi repository.
Digita il nome del repository che vuoi eliminare.
Fai clic su Elimina.
Passaggi successivi
- Scopri di più su Cloud Build.