Automatizza i deployment 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
Creare un repository di codice in Cloud Source Repositories.
Una volta completata la guida rapida, avrai un'app di cui puoi eseguire il deployment in App Engine.
Enable the App Engine Admin, Cloud Build APIs.
Concedere ad App Engine l'accesso all'account di servizio Cloud Build
Cloud Build utilizza un account di servizio per eseguire il deployment del codice. Le autorizzazioni predefinite per questo account non consentono determinate azioni, come il deployment in App Engine.
Abilita il tuo account di servizio per eseguire il deployment in App Engine concedendo all'account ruoli IAM (Identity and Access Management) aggiuntivi:
Nella console Google Cloud, apri la pagina Impostazioni di Cloud Build:
Apri la pagina Impostazioni di Cloud Build
Verrà visualizzata la pagina Autorizzazioni account di servizio:
Imposta lo stato del ruolo Amministratore App Engine su Abilitato.
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, il browser visualizza 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
, quindi 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 descriva 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 Google Cloud, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto e poi sul nome del progetto Google Cloud.
Fai clic su Crea attivatore.
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 seguente codice:#!/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 descriva 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 Google Cloud, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto e poi sul nome del progetto Google Cloud.
Fai clic su Cronologia.
Si apre un elenco di tutte le build. In alto è presente una nuova voce che rappresenta la build avviata dopo aver eseguito il push della modifica a Cloud Source Repositories. Quando la build è pronta, accanto alla voce viene visualizzato un segno di spunta.
Esegui nuovamente il test dell'app
In una finestra del terminale, apri l'app:
gcloud app browse
Il browser ora 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 Google Cloud, apri la pagina Trigger di Cloud Build.
Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto e poi sul nome del progetto Google Cloud.
Sulla stessa riga dell'attivatore da eliminare, fai clic su Altro more_vert e poi su Elimina.
Elimina il repository
Nella console Google Cloud, apri la pagina Tutti i repository per Cloud Source Repositories.
Tieni il puntatore sul repository che vuoi eliminare e fai clic su Impostazioni settings.
Si apre 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.