Utilizzo di Apache Maven e del plug-in App Engine

Apache Maven è uno strumento di automazione della build 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 Enterprise Application Archive (EAR).

Prima di iniziare

  1. Per determinare se Maven è installato e quale versione hai, esegui il comando seguente:

    mvn -v
    

    Se Maven è installato, verrà visualizzata una lunga stringa di informazioni che inizia con Apache Maven e seguita da un numero di versione come 3.9.1.

  2. Se non hai installato Maven 3.9.1 o versioni successive:

    1. Scarica Maven 3.9.1 o versioni successive.
    2. Installa Maven 3.9.1 o versioni successive.

    I gestori di pacchetti Linux predefiniti, come apt o apt-get su Ubuntu e Debian, forniscono versioni precedenti di Maven e potrebbero non includere Maven 3.9.1 o versioni successive. Per installare una versione supportata su Linux, scarica l'archivio binario direttamente dal sito Apache Maven e segui le istruzioni di installazione.

  3. Se non l'hai ancora fatto, segui i passaggi 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 App Engine

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

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.8.7</version>
</plugin>

Creazione e deployment dell'app

Dopo aver aggiunto il plug-in Maven per App Engine al file pom.xml del tuo progetto, puoi utilizzare il seguente comando per creare ed eseguire il deployment dell'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 devi includere la proprietà -Dapp.deploy.projectId nel comando che esegui.

L'obiettivo package crea e pacchettizza l'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.

Modificare i valori predefiniti del deployment

Puoi modificare il comportamento di deployment predefinito 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 implementare file di configurazione, come cron.yaml, dispatch.yaml e index.yaml.

Per saperne di più, consulta il appengine:deploy riferimento .

Passaggi successivi