Gradle è uno strumento di automazione open source delle build incentrato sulla flessibilità e sul rendimento. App Engine fornisce un plug-in Gradle che puoi utilizzare per creare la tua app ed eseguirne il deployment in App Engine.
Prima di iniziare
Installa Gradle (versione 3.4.1 o successiva)
Se non l'hai ancora fatto, segui i passaggi in questa guida per scaricare gcloud CLI, creare il tuo progetto Google Cloud e inizializzare l'app App Engine.
Installa il componente
app-engine-java
di gcloud CLI:gcloud components install app-engine-java
Crea 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 in locale ed eseguire il deployment del progetto hello world.
Per creare un nuovo progetto:
Crea una nuova directory e aprila.
Per inizializzare un nuovo progetto:
Esegui
gradle init
:gradle init --type java-library
Crea la cartella
WEB-INF
:mkdir -p src/main/webapp/WEB-INF
Crea la cartella
appengine
:mkdir -p src/main/appengine
Rimuovere i file stub generati da
gradle init
: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):
- src/main/docker/Dockerfile (facoltativo per i runtime personalizzati)
- Classi Java
- Classi di test Java
Per una panoramica di un progetto App Engine Java, consulta Configurare l'ambiente di sviluppo.
scarica l'app Hello World
Clona il repository dell'app di esempio Hello World nella 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/flexible/java-8/helloworld
Test dell'applicazione con il server di sviluppo
Per accedere alle risorse Google del tuo progetto quando viene eseguito localmente, imposta le credenziali predefinite dell'applicazione eseguendo:
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 sul server di sviluppo richiamando Gradle:
gradle jettyRun
In alternativa, puoi eseguire Gradle senza installarlo utilizzando il wrapper Gradle.
Attendi l'avvio del server. Il server viene avviato con la tua applicazione in esecuzione quando viene visualizzato un messaggio simile al seguente:
:prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO runs at: 17:40:05 INFO http://localhost:8080/
Guarda la tua app in esecuzione all'indirizzo
http://localhost:8080
.
Per scoprire di più sul plug-in Gretty, consulta Configurazione di Gretty e Attività di Gretty.
Esegui il 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 delle attività e delle proprietà, consulta
Attività e proprietà Gradle di App Engine.
Utilizzare il wrapper Gradle
Gradle fornisce un meccanismo per scaricare ed eseguire la versione richiesta di Gradle senza installazione:
Linux/macOS
Passa alla directory codice campione.
Esecuzione gradlew:
./gradlew jettyRun
Windows
Passa alla directory codice campione.
Esecuzione gradlew:
./gradlew.bat jettyRun
Ulteriori informazioni su Gradle sono disponibili in Attività e proprietà Gradle di App Engine.
Passaggi successivi
- Esplora il codice del plug-in e segnala i problemi su GitHub.
- Scopri come specificare le proprietà delle attività consultando Attività e proprietà Gradle di App Engine.