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 il giorno Febbraio 2020, REGION_ID.r è incluso in 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 di problemi di compatibilità che non visibile finché non esegui l'upgrade dell'app 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 fornisce emulatori.

Test in locale

Per testare le funzionalità della tua app prima del deployment, segui le istruzioni per in locale nel runtime di Python 3.

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 nella runtime Python 3 di App Engine per un'altra serie di test. Ad esempio, per testare il servizio default della tua app:

  1. Assicurati di avere 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 maggiori informazioni informazioni, consulta Scrittura di log delle applicazioni.

Richieste inviate a https://PROJECT_ID.REGION_ID.r.appspot.com vengono indirizzati 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 versioni e servizi specifici, consulta Modalità di routing delle richieste.

Migrazione del traffico all'app

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

  1. Aggiorna le variabili di ambiente nel file app.yaml per inviare richieste al tuo e altri servizi invece di emulatori o test i dati che stavi utilizzando.

  2. Impedisci che il traffico venga instradato automaticamente alla tua 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 Eseguire la migrazione del traffico.