Test e deployment dell'app di cui è stato eseguito l'upgrade in Python 3

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.

Dopo aver eseguito l'upgrade dell'app per renderla compatibile sia con Python 2 che con Python 3:

  1. Testa l'app in un ambiente Python 3 locale.

  2. Esegui il deployment e i test in App Engine senza dover ridistribuire il traffico verso la tua app.

  3. Esegui la migrazione del traffico alla tua app.

Potresti dover dedicare molto tempo alla risoluzione dei problemi di compatibilità che non sono visibili finché non esegui l'app di cui è stato eseguito l'upgrade in un ambiente Python 3.

Per evitare di utilizzare i dati di produzione e la quota Google Cloud durante i test, puoi utilizzare i seguenti emulatori:

Altri servizi Google Cloud, come Cloud Storage e Memorystore, non forniscono emulatori.

Test locale

Per testare la funzionalità dell'app prima del deployment, segui le istruzioni per l'esecuzione locale nel runtime di Python 3.

Eseguire test su App Engine prima di spostare il traffico

Prima di instradare il traffico all'app Python di cui è stato eseguito l'upgrade, esegui il deployment dell'app nel runtime Python 3 di App Engine per un altro ciclo di test. Ad esempio, per testare il servizio default della tua app:

  1. Assicurati di aver aggiornato i file di configurazione dell'app per la compatibilità con il runtime Python 3.

    Non modificare le variabili di ambiente che inviano richieste a emulatori o database di test finché non è tutto pronto per spostare il traffico nella tua app.

  2. Esegui il deployment della nuova versione, ma impedisci il routing automatico del traffico alla nuova versione:

    gcloud app deploy --no-promote

  3. 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 Scrittura dei log delle applicazioni.

Le richieste inviate a https://PROJECT_ID.REGION_ID.r.appspot.com vengono inoltrate alla versione configurata in precedenza per ricevere il traffico.

Per testare le nuove versioni di altri servizi, segui la stessa procedura, ma sostituisci 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.

Migrazione del traffico verso la tua app

Quando è tutto pronto per inviare il traffico alla nuova versione:

  1. Aggiorna le variabili di ambiente nel file app.yaml per inviare richieste ai database di produzione e ad altri servizi anziché a emulatori o dati di test che stavi utilizzando.

  2. Per impedire che il traffico venga indirizzato automaticamente alla nuova versione al momento del deployment:

    gcloud app deploy --no-promote

  3. Dopo aver verificato che la tua app interagisce con i database e i datastore di produzione, utilizza la console Google Cloud per eseguire la migrazione del traffico:

    Gestisci le versioni

    Seleziona la versione più recente dell'app di cui è stato eseguito l'upgrade e fai clic su Esegui la migrazione del traffico.