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 all'area geografica selezionata al momento della creazione dell'app. Il codice non corrisponde a un paese o a una provincia, anche se alcuni ID regione possono sembrare simili ai codici paese e provincia 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 in modo che sia compatibile con Python 2 e Python 3:

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

  2. Esegui il deployment e testa in App Engine senza spostare il traffico verso la tua app.

  3. Eseguire la migrazione del traffico verso la tua app.

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

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

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

Test in locale

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

Test su App Engine prima di spostare il traffico

Prima di indirizzare il traffico all'app Python aggiornata, esegui il deployment dell'app sul runtime Python 3 di App Engine per un'altra fase di test. Ad esempio, per testare il servizio default della tua app:

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

    Non modificare le variabili di ambiente che inviano richieste agli emulatori o testare i database finché non sei pronto a spostare il traffico verso la 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 visualizzando i relativi log. Per ulteriori informazioni, consulta Scrittura dei log delle applicazioni.

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

Per testare nuove versioni di altri servizi, segui la stessa procedura, ma sostituisci default nell'URL con il nome del tuo servizio:

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

Per ulteriori informazioni sul targeting di versioni e servizi specifici, vedi Modalità di routing delle richieste.

Migrazione del traffico nell'app

Quando tutto è pronto per inviare traffico alla nuova versione:

  1. Aggiorna le variabili di ambiente nel file app.yaml per inviare richieste ai tuoi database di produzione e ad altri servizi anziché a eventuali emulatori o dati di test che stai 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 aggiornata e fai clic su Esegui la migrazione del traffico.