Testa ed esegui il deployment dell'applicazione

ID regione

REGION_ID è un codice abbreviato assegnato da Google in base alla regione selezionata quando crei l'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici di paesi e province di uso comune. Per le app create dopo febbraio 2020, REGION_ID.r è incluso negli URL di App Engine. Per le app esistenti create prima di questa data, l'ID regione è facoltativo nell'URL.

Scopri di più sugli ID regione.

Scopri come eseguire la tua applicazione localmente, come eseguirne il deployment e come testarla in App Engine.

Esegui localmente

Per testare l'applicazione prima del deployment, eseguila nel tuo ambiente locale con gli strumenti di sviluppo che utilizzi di solito.

Prima di eseguire il deployment dell'applicazione

Prima di eseguire il deployment dell'applicazione:

Esegui il deployment dell'applicazione

Esegui il deployment dell'applicazione in App Engine utilizzando il comando gcloud app deploy. Durante il deployment, il servizio Cloud Build crea un'immagine container della tua applicazione da eseguire nell'ambiente standard. Ogni build viene eseguita nella stessa regione del progetto Google Cloud. Per ulteriori informazioni, consulta Gestire le immagini di build.

Per eseguire il deployment delle app in modo programmatico, utilizza l'API Admin.

Esegui il deployment di un servizio

Esegui il deployment dell'applicazione in App Engine eseguendo il deployment delle versioni dei servizi dell'applicazione e di ciascuno dei relativi file di configurazione.

Per eseguire il deployment di una versione del servizio dell'applicazione, esegui il comando seguente dalla directory in cui si trova il file app.yaml del servizio:

gcloud app deploy

Se non specifichi alcun file con il comando, viene eseguito il deployment solo del file app.yaml nella directory corrente. Per impostazione predefinita, il comando deploy genera un ID univoco per la versione di cui esegui il deployment, esegue il deployment della versione nel progetto Google Cloud per cui hai configurato l'utilizzo di Google Cloud CLI e inoltra tutto il traffico alla nuova versione.

Puoi modificare il comportamento predefinito del comando scegliendo come target file specifici o includendo parametri aggiuntivi:

  • Per eseguire il deployment degli altri file di configurazione del servizio, devi scegliere come target e eseguire il deployment di ciascun file separatamente. Ad esempio:
    gcloud app deploy cron.yaml
    gcloud app deploy dispatch.yaml
    gcloud app deploy index.yaml
  • Per specificare un ID versione personalizzato, utilizza il flag --version.
  • Per impedire che il traffico venga indirizzato automaticamente alla nuova versione, utilizza il flag --no-promote.
  • Per eseguire il deployment in un progetto Google Cloud specifico, utilizza il flag --project.

Ad esempio, per eseguire il deployment del servizio definito dal file app.yaml in un progetto Google Cloud specifico, assegnagli un ID versione personalizzato e impedisci il routing del traffico alla nuova versione:

gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote

Per ulteriori informazioni su questo comando, consulta la gcloud app deploy documentazione di riferimento.

Esegui il deployment di più servizi

Utilizzi lo stesso comando di deployment per il deployment o l'aggiornamento dei diversi servizi che compongono l'applicazione.

Prima di iniziare:

  • Devi inizialmente eseguire il deployment di una versione dell'applicazione nel servizio default prima di poter creare ed eseguire il deployment di servizi successivi.
  • L'ID di ciascun servizio deve essere specificato nei relativi file di configurazioneapp.yaml. Per specificare l'ID servizio, includi la definizione dell'elemento service in ogni file di configurazione. Per impostazione predefinita, l'esclusione di questa definizione di elemento dal file di configurazione esegue il deployment della versione nel servizio default.

Per eseguire il deployment di più servizi, esegui il deployment separato del file app.yaml di ciascun servizio. Puoi specificare più file con un unico comando gcloud app deploy:

gcloud app deploy service1/app.yaml service2/app.yaml

Visualizza i log di compilazione

Cloud Build streamma i log di compilazione e deployment che sono visibili nella sezione Cronologia di compilazione di Cloud Build della console Google Cloud. Per visualizzare le build nella regione dell'app, utilizza il menu Regione per filtrare in base alla regione.

Gestire le immagini di compilazione

Ogni volta che esegui il deployment di una nuova versione:

  1. App Engine crea un'immagine container utilizzando il servizio Cloud Build.

  2. Cloud Build compila l'immagine del container nella regione dell'app ed esegue l'ambiente standard di App Engine.

  3. App Engine archivia le immagini container create in Artifact Registry. Puoi scaricare queste immagini per conservarle o pubblicarle altrove.

Al termine del deployment, App Engine non necessita più delle immagini container. Le immagini container non vengono eliminate automaticamente. Per evitare di raggiungere la quota di spazio di archiviazione, puoi eliminare in sicurezza le immagini che non ti servono. Tuttavia, se potresti aver bisogno delle immagini in futuro o vuoi conservare una copia, devi esportarne una prima dell'eliminazione. Per ulteriori informazioni sulla gestione delle immagini in Artifact Registry, consulta Gestire le immagini.

Ignorare i file

Puoi utilizzare un file .gcloudignore per specificare file e directory che non verranno caricati su App Engine quando esegui il deployment dei servizi. Questa opzione è utile per ignorare gli elementi di build e altri file che non devono essere caricati con il deployment.

visualizza l'applicazione

Dopo aver eseguito il deployment dell'applicazione in App Engine, puoi eseguire il seguente comando per avviare il browser e visualizzarla all'indirizzo https://PROJECT_ID.REGION_ID.r.appspot.com:

gcloud app browse

Esegui il test su App Engine prima di spostare il traffico

Prima di configurare una nuova versione per ricevere traffico, puoi testarla su App Engine. Ad esempio, per testare una nuova versione del servizio default:

  1. Esegui il deployment della nuova versione, ma impedisci che il traffico venga indirizzato automaticamente alla nuova versione:

    gcloud app deploy --no-promote

  2. Per accedere alla nuova versione, vai al seguente URL:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

    Ora puoi testare la nuova versione nell'ambiente di runtime di App Engine. Puoi eseguire il debug dell'applicazione visualizzandone i log. Per ulteriori informazioni, consulta la sezione Scrivere i log delle applicazioni.

    App Engine inoltra le richieste inviate a https://PROJECT_ID.REGION_ID.r.appspot.com alla versione precedentemente configurata per ricevere il traffico.

  3. Quando vuoi inviare traffico alla nuova versione, utilizza la console Google Cloud per eseguirne la migrazione:

    Gestisci le versioni

    Seleziona la versione appena di cui hai eseguito il deployment e fai clic su Esegui la migrazione del traffico.

Puoi utilizzare la stessa procedura per testare le nuove versioni di altri servizi sostituendo default nell'URL con il nome del servizio:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Per ulteriori informazioni sul targeting di servizi e versioni specifici, consulta Come vengono instradate le richieste.

Utilizzare le variabili di ambiente di compilazione

Puoi impostare le variabili di ambiente di compilazione per i runtime che supportano i buildpacks.

Le variabili di ambiente di compilazione sono coppie chiave-valore che puoi specificare per configurare il buildpack utilizzato per il deployment dell'app. Ad esempio, potresti voler specificare le opzioni del compilatore.

Prima di iniziare:

  • Le chiavi devono iniziare con una lettera ASCII maiuscola e possono includere lettere ASCII maiuscole, cifre e trattini bassi.
  • Evita di creare variabili con un prefisso della chiave GOOGLE_*.
  • Le seguenti chiavi sono riservate all'uso di Google:
    • GOOGLE_RUNTIME
    • GOOGLE_RUNTIME_VERSION
    • GOOGLE_ENTRYPOINT
    • GOOGLE_DEVMODE
  • Puoi utilizzare qualsiasi chiave supportata da buildpacks.

Per utilizzare le variabili di ambiente con i buildpack, specifica il campo build_env_variables nel file app.yaml.

Scopri di più sui buildpack.

Utilizzare Cloud Trace

Cloud Trace è utile per capire come le richieste si propagano nell'applicazione. Puoi analizzare informazioni dettagliate sulla latenza per una singola richiesta o visualizzare la latenza aggregata per l'intera applicazione.

Per visualizzare i dettagli delle tracce in Cloud Trace, puoi seguire la procedura per trovare ed esplorare le tracce. In Trace Explorer, puoi utilizzare i filtri per filtrare in base al servizio e alla versione di App Engine specifici.