Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Guida rapida: automatizzare i deployment di App Engine con Cloud Build

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

  1. 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.

  2. Abilita le API App Engine Admin, Cloud Build.

    Abilita le API

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:

  1. 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:

    La pagina Autorizzazioni account di servizio.

  2. Imposta lo stato del ruolo Amministratore App Engine su Abilita.

Esegui il deployment dell'app

  1. In una finestra del terminale, vai alla directory contenente il repository:

    cd hello-world
    
  2. Distribuisci l'applicazione di esempio:

    gcloud app deploy app.yaml
    
  3. 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

  1. In una finestra del terminale, vai alla directory contenente il repository:

    cd hello-world
    
  2. 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

  1. Aggiungi cloudbuild.yaml al repository:

    git add .
    
  2. Esegui il commit del file con un commento che descrive la cronologia di questa azione:

    git commit -m "Add cloudbuild.yaml file"
    
  3. 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

  1. Nella console di GCP, apri la pagina Trigger di Cloud Build.

    Apri la pagina Trigger

  2. Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.

  3. Fai clic su Crea trigger.

    Viene visualizzata la pagina Crea trigger.

  4. 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 /.
  5. Fai clic su Crea per salvare il trigger di build.

Esegui il push di una modifica alla tua app

  1. 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)
    
  2. Aggiungi il file a Git:

    git add .
    
  3. Esegui il commit del file con un commento che descrive la cronologia di questa azione:

    git commit -m "Update app to demonstrate build triggers"
    
  4. 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

  1. Nella console di GCP, apri la pagina Trigger di Cloud Build.

    Apri la pagina Trigger

  2. Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.

  3. 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

  1. Nella console di GCP, apri la pagina Trigger di Cloud Build.

    Apri la pagina Trigger

  2. Se il progetto Google Cloud non è selezionato, fai clic su Seleziona un progetto, quindi fai clic sul nome del progetto Google Cloud.

  3. Sulla stessa riga dell'attivatore che vuoi eliminare, fai clic su Altro e poi su Elimina.

Elimina il repository

  1. Nella console di GCP, apri la pagina Tutti i repository per Cloud Source Repositories.

    Cloud Source Repositories

  2. Tieni il puntatore del mouse sul repository che vuoi eliminare e fai clic su Impostazioni .

    Viene visualizzata la pagina Impostazioni generali.

  3. Fai clic su Elimina questo repository .

    Viene visualizzata la finestra di dialogo Rimuovi repository.

  4. Digita il nome del repository che vuoi eliminare.

  5. Fai clic su Elimina.

Passaggi successivi