Utilizzo di Apache Maven e del plug-in App Engine

Apache Maven è uno strumento di automazione della creazione per Java.

App Engine fornisce un plug-in Maven che puoi utilizzare per creare ed eseguire il deployment della tua app in App Engine. Il plug-in non supporta i progetti EAR (Enterprise Application Archive).

Prima di iniziare

  1. Per determinare se Maven è installato e la versione in uso, esegui questo comando:

    mvn -v
    

    Se hai installato Maven, verrà visualizzata una lunga stringa di informazioni che inizia con Apache Maven e seguito da un numero di versione come 3.5.

  2. Se non hai Maven 3.5 o una versione successiva:

    1. Scarica Maven 3.5 o versioni successive.
    2. Installa Maven 3.5 o versioni successive.
  3. Se non l'hai ancora fatto, segui i passaggi descritti qui per scaricare gcloud CLI, creare il tuo progetto Google Cloud e inizializzare l'app App Engine.

  4. Installa il componente app-engine-java di gcloud CLI:

    gcloud components install app-engine-java
    

Aggiunta del plug-in Maven di App Engine

Per utilizzare il plug-in Maven di App Engine, aggiungi le seguenti righe alla sezione plugins nel file pom.xml del tuo progetto:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.7.0</version>
   </plugin>
   <plugin>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-maven-plugin</artifactId>
     <version>9.3.7.v20160115</version>
   </plugin>
</plugins>
Il plug-in App Engine include il plug-in Jetty Maven, che puoi utilizzare per testare rapidamente l'applicazione senza creare un file WAR.

Utilizzo del plug-in Jetty Maven per testare l'app in locale

Durante la fase di sviluppo, puoi eseguire e testare la tua app in qualsiasi momento sul server di sviluppo richiamando il plug-in Maven per Jetty.

Per eseguire l'app sul server di sviluppo:

  1. Crea la tua app se non l'hai ancora fatto:

    mvn package
    
  2. Cambia la directory impostandola sul livello principale del progetto (ad esempio, in myapp) ed esegui l'app richiamando Maven:

    mvn jetty:run
    
  3. Attendi l'avvio del server e utilizza il browser per visitare http://localhost:8080/ e accedere alla tua app.

  4. Arresta l'app e il server di sviluppo premendo Ctrl+C.

Creazione e deployment dell'app

Dopo aver aggiunto il plug-in Maven di App Engine al file pom.xml del tuo progetto, puoi utilizzare il seguente comando per creare il deployment della tua app:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

Sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud. Se il file pom.xml specifica già l'ID progetto, non è necessario includere la proprietà -Dapp.deploy.projectId nel comando che esegui.

L'obiettivo package crea e pacchettizza la tua app, mentre l'obiettivo appengine:deploy esegue le seguenti operazioni:

  1. Genera un ID versione univoco per la nuova versione dell'app.

  2. Esegue il deployment della nuova versione in App Engine.

  3. Instrada tutto il traffico alla nuova versione.

Modifica delle impostazioni predefinite del deployment

Puoi modificare il comportamento predefinito del deployment passando i parametri nel comando appengine:deploy. Ad esempio, il seguente comando esegue il deployment del servizio definito nel file pom.xml in un progetto Google Cloud specifico, assegna un ID versione personalizzato al servizio e disattiva il routing automatico del traffico per la nuova versione:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

Puoi anche utilizzare il comando appengine:deploy per eseguire il deployment di file di configurazione, ad esempio cron.yaml, dispatch.yaml e index.yaml.

Per ulteriori informazioni, consulta il riferimento appengine:deploy.

Passaggi successivi