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 di area geografica potrebbero essere
simili ai codici di 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 area geografica è facoltativo nell'URL.
Scopri di più sugli ID dell'area geografica.
Scopri come eseguire la tua applicazione localmente, come eseguirne il deployment e come testarla in App Engine.
Esecuzione in locale
Per testare la funzionalità della tua applicazione prima del deployment, esegui l'applicazione nel tuo ambiente locale con gli strumenti di sviluppo che utilizzi abitualmente.
Prima di eseguire il deployment dell'applicazione
Prima di eseguire il deployment dell'applicazione:
- Il proprietario del progetto Cloud deve abilitare App Engine.
- Devi assicurarti che l'account utente includa i privilegi necessari.
Deployment dell'applicazione
Puoi utilizzare una delle seguenti tecniche per eseguire il deployment dell'app:Utilizza l'interfaccia a riga di comando di Google Cloud per eseguire il deployment del codice sorgente della tua app e un file di build Maven POM o Gradle. Cloud Build creerà l'app ed eseguirà il deployment su App Engine.
Utilizza il plug-in App Engine per Maven o Gradle, che crea la tua app in locale ed esegue il deployment dell'app creata in App Engine.
Utilizza qualsiasi framework di compilazione per creare in locale un JAR di esecuzione (eseguibile) quindi utilizza l'interfaccia a riga di comando di Google Cloud per eseguire il deployment di JAR su App Engine.
Per eseguire il deployment delle app in modo programmatico, utilizza l'API amministrativa.
Deployment del codice sorgente dell'app
Se utilizzi Maven o Gradle per gestire le build locali della tua app e se tutte le dipendenze dell'app sono pubblicamente disponibili per il download, puoi inserire il comando gcloud app deploy
dalla directory che contiene il file pom.xml
o build.gradle
della tua app:
gcloud app deploy
Il comando indica a Cloud Build di utilizzare i Buildpack di App Engine per creare l'applicazione ed eseguirne il deployment su App Engine.
Se utilizzi Maven:
Il buildpack utilizza il seguente comando di build:
mvn clean package --batch-mode -DskipTests
Se la directory principale della tua app contiene un file
mvnw
, il comando build sostituisce./mvnw
al posto dimvn
. Cloud Build cerca quindi nella directorytarget
il file.jar
con una voce manifest della classe principale e crea un elementoentrypoint
con il valorejava -jar <jarfile>
.
Se utilizzi Gradle:
Il buildpack utilizza il seguente comando di build:
gradle clean assemble -x test --build-cache
Se la directory principale della tua app contiene un file
gradlew
, il comando di build sostituisce./gradlew
al posto digradle
. Cloud Build cerca quindi nella directorybuild/libs
il file.jar
con una voce manifest della classe principale e crea un elementoentrypoint
con il valorejava -jar <jarfile>
.Assicurati che non sia presente
pom.xml
nella directory principale del progetto. I progetti Maven hanno la precedenza sui progetti Gradle.
Visualizzazione dei log di build
I flussi di Cloud Build vengono generati ed eseguiti dai log e puoi visualizzarli nella sezione della cronologia di Cloud Build di Cloud Console. Per visualizzare le build nell'area geografica dell'app, utilizza il menu a discesa Area geografica nella parte superiore della pagina per scegliere l'area geografica in base alla quale filtrare.
Tieni presente quanto segue in merito a questa tecnica di deployment:
Se la tua app ha dipendenze disponibili solo a livello locale, Cloud Build non è in grado di crearla e il deployment non andrà a buon fine. In questo caso, consigliamo di utilizzare invece il plug-in Maven o Gradle di App Engine.
La creazione di un'app utilizza la quota di Cloud Build e l'archiviazione del codice sorgente dell'app utilizza la quota di Cloud Storage. Cloud Build e Cloud Storage forniscono quote gratuite, per cui non ti sarà addebitato il deployment delle applicazioni di App Engine finché non avrai superato le quote gratuite. Per informazioni, consulta la pagina Prezzi.
Al momento non è possibile specificare argomenti aggiuntivi per il comando di build Gradle. Per ulteriori informazioni, consulta lo strumento Google Issue Tracker.
Utilizzo del plug-in Maven o Gradle di App Engine
App Engine fornisce i plug-in Maven e Gradle che puoi utilizzare per creare ed eseguire il deployment dell'app. Ad esempio, dopo aver configurato il plug-in App Engine Maven, puoi inserire il seguente comando dalla directory che contiene il file pom.xml
del tuo progetto:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Sostituisci PROJECT_ID con l'ID del progetto Cloud. Se il file pom.xml
specifica il tuo ID progetto, non devi includere la proprietà -Dapp.deploy.projectId
nel comando che esegui.
Per ulteriori informazioni, consulta le sezioni Utilizzo di Apache Maven e del plug-in App Engine o di Utilizzo di Gradle e del plug-in App Engine.
Deployment di un JAR eseguibile
Usa qualsiasi framework di build per creare un jar eseguibile localmente, quindi esegui una delle seguenti operazioni a seconda che tu abbia creato un file app.yaml
per la tua app:
Se hai creato un file
app.yaml
:Copia il file nella stessa directory del file JAR eseguibile che hai creato.
Nella directory contenente il
app.yaml
e il tuo JAR, inserisci il seguente comando:gcloud app deploy
Se non hai creato un file
app.yaml
, inserisci il comando seguente:gcloud app deploy your-executable.jar
gcloud app deploy
creerà un fileapp.yaml
contenente le impostazioni minime, utilizzando tutti i valori predefiniti.
Ignorare i file
Puoi utilizzare un file .gcloudignore
per specificare i file e le directory che non verranno caricati in App Engine quando esegui il deployment dei servizi. Questo è utile per ignorare gli artefatti delle build e altri file che non devono essere caricati con il tuo deployment.
Gestione delle immagini build
Ogni volta che esegui il deployment di una nuova versione, l'immagine del container viene creata tramite il servizio Cloud Build. L'immagine del container viene creata nell'area geografica dell'app e viene quindi eseguita nell'ambiente standard di App Engine.
Le immagini container create vengono archiviate nella cartella app-engine-tmp/app
in Container Registry. Puoi scaricare queste immagini per tenerle o eseguirle altrove. Una volta completato il deployment, App Engine non ha più bisogno delle immagini container. Tieni presente che non vengono eliminati automaticamente, quindi per evitare di raggiungere la quota di spazio di archiviazione, puoi eliminare in sicurezza le immagini che non ti servono.
Per ulteriori informazioni sulla gestione delle immagini in Container Registry, consulta la documentazione di Container Registry.
Visualizzazione dell'applicazione
Dopo aver eseguito il deployment dell'applicazione in App Engine, puoi eseguire il comando seguente per avviare il browser e visualizzarlo all'indirizzo https://PROJECT_ID.REGION_ID.r.appspot.com
:
gcloud app browse
Test su App Engine prima di spostare il traffico
Prima di configurare una nuova versione per ricevere il traffico, puoi testarla su
App Engine. Ad esempio, per testare una nuova versione del servizio default
:
Esegui il deployment della nuova versione, ma impedisci il routing automatico del traffico alla nuova versione:
mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.promote=False
Accedi alla nuova versione accedendo 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 pagina relativa alla scrittura dei log delle applicazioni.
App Engine instrada le richieste inviate a
https://PROJECT_ID.REGION_ID.r.appspot.com
alla versione configurata in precedenza per ricevere il traffico.Quando vuoi inviare traffico alla nuova versione, utilizza Cloud Console per eseguire la migrazione del traffico:
Seleziona la versione appena sottoposta a deployment e fai clic su Esegui la migrazione del traffico.
Puoi utilizzare la stessa procedura per testare nuove versioni di altri servizi sostituendo
default
nell'URL con il tuo 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 la pagina Modalità di routing delle richieste.
Utilizzo delle variabili di ambiente di build
Puoi anche impostare variabili di ambiente di build per i runtime che supportano i buildpack.
Le variabili di ambiente di build sono coppie chiave/valore sottoposte a deployment insieme a un'app che
consente di trasmettere
informazioni di configurazione
ai buildpack. Ad esempio, potresti voler personalizzare le opzioni del compilatore. Puoi aggiungere o rimuovere queste variabili di ambiente di build configurando il campo build_env_variables
nel file app.yaml
.
Utilizzo di Cloud Debugger
Puoi utilizzare Debugger per ispezionare lo stato dell'app di cui hai eseguito il deployment in qualsiasi posizione del codice, senza arrestare o rallentare l'app in esecuzione.
Per utilizzare Debugger con un'app Java 11, devi includere il seguente flag nel campo entrypoint
del file app.yaml
:
-agentpath:/opt/cdbg/cdbg_java_agent.so=--log_dir=/var/log
Se hai già specificato l'elemento entrypoint
in app.yaml
,
aggiungi il flag agentepercorso al comando java
nel campo entrypoint
.
Se non hai specificato il campo entrypoint
o se generi il file app.yaml
quando esegui il deployment dell'app, App Engine aggiunge il flag al comando che utilizza per avviare l'app.
Utilizzo di Cloud Profiler
Cloud Profiler è un profiler statistica a bassa overhead che raccoglie continuamente le informazioni sull'utilizzo della CPU e sull'allocazione della memoria dalle applicazioni di produzione. Attribuisce queste informazioni al codice sorgente dell'app, aiutandoti a identificare le parti dell'app che consumano più risorse e illuminando in altro modo le caratteristiche delle prestazioni del codice.
Per utilizzare Cloud Profiler, imposta i file di configurazione dell'app come descritto in Avvio del programma e riesegui il deployment dell'app.