Puoi utilizzare Gradle, un sistema di automazione delle build flessibile, dichiarativo e utilizzato per automatizzare la creazione, il test, la pubblicazione e il deployment. Questa pagina spiega come usare Gradle con un progetto App Engine nell'ambiente standard.
Prima di iniziare
Installa e configura i seguenti prerequisiti:
Installa Gradle (v3.4.1 o versioni successive)
Configurazione e convalida del progetto Google Cloud
Devi configurare il tuo progetto Google Cloud e installare gcloud CLI:
Utilizza la console Google Cloud per creare e configurare il tuo progetto Google Cloud:
- Seleziona o crea un nuovo progetto Google Cloud.
- Segui le istruzioni per assicurarti che l'applicazione App Engine esista e che la fatturazione sia abilitata:
- Se devi creare un'applicazione App Engine per il tuo progetto, ti viene chiesto di selezionare la regione nella quale vuoi collocare l'applicazione App Engine.
- Segui le istruzioni per creare un nuovo account di fatturazione o selezionane uno esistente.
- La dashboard si apre dopo che l'applicazione App Engine è stata creata e la fatturazione è stata abilitata nel progetto.
Non è necessario installare gcloud CLI, perché il plug-in installa automaticamente l'SDK quando richiesto.
Creazione di un nuovo progetto Gradle
Puoi creare un nuovo progetto Gradle da zero utilizzando la shell. In alternativa, per provare il plug-in, puoi scaricare, eseguire localmente ed eseguire il deployment del progetto hello world.
Crea e inserisci una nuova directory.
Per inizializzare un nuovo progetto:
gradle init --type java-library; mkdir -p src/main/webapp/WEB-INF; rm src/main/java/Library.java src/test/java/LibraryTest.java
Aggiungi quanto segue al file
build.gradle
per aggiungere attività di App Engine Gradle, repository Maven, il plug-in Gradle di App Engine, dipendenze e configurazione delle attività:Devi inoltre aggiungere i seguenti file al progetto utilizzando un editor di testo o un ambiente di sviluppo integrato (IDE):
Consulta File di configurazione per una panoramica di un progetto Java App Engine.
Download dell'app Hello World
Clona il repository dell'app di esempio Hello World sulla tua macchina locale:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.
Passa alla directory che contiene il codice di esempio:
cd java-docs-samples/appengine-java8/helloworld
Test dell'applicazione con il server di sviluppo
Per accedere alle risorse Google dal tuo progetto durante l'esecuzione in locale, imposta le credenziali predefinite dell'applicazione eseguendo questo comando:
gcloud auth application-default login
Passa alla directory principale della directory dell'applicazione.
Durante la fase di sviluppo, puoi eseguire e testare la tua applicazione in qualsiasi momento nel server di sviluppo richiamando Gradle:
gradle appengineRun
In alternativa, puoi eseguire Gradle senza installarlo utilizzando il wrapper Gradle.
Attendi l'avvio del server. Il server viene avviato mentre la tua applicazione è in esecuzione quando viene visualizzato un messaggio simile a questo:
:compileJava :processResources NO-SOURCE :classes :war :explodeWar :assemble :appengineRun 2018-06-05 22:50:46.231:INFO::main: Logging initialized @321ms Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: Module instance default is running at http://localhost:8080/ Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: The admin console is running at http://localhost:8080/_ah/admin Jun 05, 2018 10:50:49 PM com.google.appengine.tools.development.DevAppServerImpl doStart INFO: Dev App Server is now running
Controlla la tua app in esecuzione su
http://127.0.0.1:8080
.
Debug sul server di sviluppo
Per eseguire il debug di un'applicazione in esecuzione in locale, imposta la proprietà jvmFlags
in modo da attivare il debug sulla JVM sottostante, ad esempio:
appengine {
run {
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005']
}
}
Attiva il ricaricamento a caldo dell'applicazione
Il ricaricamento a caldo consente di aggiornare una o più classi di un'applicazione attualmente in esecuzione senza arrestare l'ambiente. Per abilitare il ricaricamento a caldo:
Devi indicare al server locale di eseguire la scansione delle modifiche:
appengine { run { automaticRestart = true } }
Mentre la tua app è in esecuzione, esegui l'attività
explodeWar
per copiare direttamente le modifiche nell'app esplosa e propagarle nell'applicazione in esecuzione.
Deployment dell'applicazione
Per eseguire il deployment della tua applicazione:
gradle appengineDeploy
L'attività appengineDeploy
e tutte le altre attività Gradle hanno proprietà associate che puoi utilizzare. Per un elenco completo di attività e proprietà, consulta Attività e proprietà Gradle di App Engine.
Utilizzo del wrapper Gradle
Gradle fornisce un meccanismo per scaricare ed eseguire la versione richiesta di Gradle senza installazione:
Linux/macOS
./gradlew appengineRun
Windows
gradlew.bat appengineRun
Ulteriori informazioni su Gradle sono disponibili in Attività e proprietà Gradle di App Engine.
Passaggi successivi
- Esplora il codice plug-in e segnala eventuali problemi su GitHub.
- Per sapere come specificare le proprietà delle attività, consulta Attività e proprietà Gradle di App Engine.