Obiettivi e parametri del plug-in Maven di App Engine

Dopo aver aggiunto al tuo progetto il plug-in Maven basato su gcloud CLI, sono disponibili i seguenti obiettivi Maven specifici per App Engine:

Obiettivo Descrizione
appengine:cloudSdkLogin Imposta lo stato globale dellgcloud CLI per account.
appengine:deploy Organizza in fasi ed esegue il deployment di un'applicazione in App Engine.
appengine:deployAll Mette in pausa ed esegue contemporaneamente il deployment su App Engine di un'applicazione con tutte le sue configurazioni YAML valide.
appengine:deployCron Mette in fase ed esegue il deployment di un file di configurazione cron.yaml in App Engine.
appengine:deployDispatch Mette in fase ed esegue il deployment di un file di configurazione dispatch.yaml in App Engine.
appengine:deployDos Mette in fase ed esegue il deployment di un file di configurazione dos.yaml in App Engine.
appengine:deployIndex Mette in fase ed esegue il deployment di un file di configurazione index.yaml in App Engine.
appengine:deployQueue Mette in fase ed esegue il deployment di un file di configurazione queue.yaml in App Engine.
appengine:help Visualizza le informazioni di assistenza sul plug-in Maven di App Engine.
appengine:run Esegue il server di sviluppo di App Engine. Quando il server è in esecuzione, verifica continuamente se appengine-web.xml è cambiato. In caso affermativo, il server ricarica l'applicazione. Non è necessario arrestare e riavviare l'applicazione a causa delle modifiche a appengine-web.xml. Questo obiettivo è supportato per i servizi in bundle precedenti.
appengine:stage Genera una directory dell'applicazione per il deployment.
appengine:start Avvia l'esecuzione del devserver di App Engine in modo asincrono, quindi torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è uguale all'obiettivo run, tranne per il fatto che Maven continua a elaborare gli obiettivi e si chiude dopo che il server è attivo e in esecuzione. Questo obiettivo è supportato per i servizi in bundle precedenti.
appengine:stop Arresta un server di sviluppo web di App Engine in esecuzione. Questo obiettivo è supportato per i servizi in bundle precedenti.

Per ulteriori informazioni su come configurare e utilizzare Maven, consulta Utilizzo di Maven.

Utilizzo dei parametri

A ogni obiettivo sono associati parametri che puoi specificare nel file pom.xml. Ad esempio:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.7.0</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
     </configuration>
  </plugin>
</plugins>

Puoi anche definire i parametri di configurazione nella riga di comando, seguendo il pattern -D[USER_PROPERTY]=[PARAMETER_VALUE].

Ad esempio, per specificare una directory in cui organizzare l'applicazione:

mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]

Consulta le sezioni seguenti per un elenco dei parametri disponibili per ogni obiettivo.

appengine:deploy

Organizza in fasi ed esegue il deployment di un'applicazione in App Engine.

Puoi utilizzare i seguenti parametri, alcuni dei quali corrispondono a gcloud app deploy flag della riga di comando o gcloud app services flag della riga di comando:

Parametro Descrizione Proprietà utente
appEngineDirectory La directory che contiene app.yaml e altri file di configurazione di App Engine supportati. Il valore predefinito è ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact La posizione dell'archivio JAR o WAR di cui eseguire il deployment. Il valore predefinito è ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
bucket Bucket Cloud Storage utilizzato per lo stage dei file associati al deployment. Se questo argomento non è specificato, viene utilizzato il bucket predefinito dell'applicazione. app.deploy.bucket
cloudSdkPath Parametro facoltativo per configurare la località di Google Cloud CLI. L'impostazione predefinita è il rilevamento automatico dal PATH o dal percorso di installazione standard. cloudSdkPath
deployables I file YAML per i servizi o le configurazioni di cui vuoi eseguire il deployment. Il valore predefinito è il file app.yaml nella directory temporanea. Se questo attributo non viene trovato, tenta di generare automaticamente i file di configurazione necessari (ad esempio app.yaml) nella directory temporanea. app.deploy.deployables
dockerDirectory La directory contenente il Dockerfile e altre risorse Docker. Il valore predefinito è ${basedir}/src/main/docker/. app.stage.dockerDirectory
imageUrl Esegui il deployment con un'immagine Docker specifica. ImageUrl deve essere un nome Artifact Registry valido, ad esempio docker.pkg.dev/foo, dove foo è il nome dell'immagine. app.deploy.imageUrl
projectId Il nome del progetto Google Cloud da utilizzare per questa chiamata. Il valore predefinito è il progetto attuale selezionato durante l'inizializzazione di gcloud. app.deploy.projectId
promote Promuovi la versione di cui è stato eseguito il deployment in modo che riceva tutto il traffico. Il valore predefinito è True. app.deploy.promote
server Il server App Engine a cui connetterti. In genere, non è necessario modificare questo valore. app.deploy.server
stagingDirectory Obbligatorio. La directory in cui posizionare l'applicazione in un'area intermedia. Il valore predefinito è ${project.build.directory}/appengine-staging. app.stage.stagingDirectory
stopPreviousVersion Interrompi la versione precedentemente in esecuzione quando esegui il deployment di una nuova versione che riceve tutto il traffico. app.deploy.stopPreviousVersion
version La versione dell'app che verrà creata o sostituita da questo deployment. Se non specifichi una versione, ne verrà generata una automaticamente. app.deploy.version

appengine:help

Visualizza le informazioni di assistenza sul plug-in Maven di App Engine. Per visualizzare i dettagli dei parametri, richiama:

mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]

Puoi utilizzare i seguenti parametri:

Parametro Descrizione Proprietà utente
detail Se impostato su true, vengono visualizzate tutte le proprietà impostabili per ciascun obiettivo. Il valore predefinito è False. detail
goal Il nome dell'obiettivo per cui mostrare la guida. Se non specificati, verranno visualizzati tutti gli obiettivi. goal
indentSize Il numero di spazi per livello di rientro. Deve essere un numero positivo. Il valore predefinito è 2. indentSize
lineLength La lunghezza massima di una linea di visualizzazione. Deve essere un numero positivo. Il valore predefinito è 80. lineLength

appengine:run

Esegue il server web di sviluppo di App Engine. Quando il server è in esecuzione, verifica continuamente se appengine-web.xml è cambiato. In caso affermativo, il server ricarica l'applicazione. Ciò significa che non è necessario arrestare e riavviare l'applicazione a causa delle modifiche a appengine-web.xml.

Puoi utilizzare i seguenti parametri, alcuni dei quali corrispondono ai flag della riga di comando del server di sviluppo locale:

Proprietà Descrizione Configurazione plug-in Configurazione della riga di comando
automaticRestart Riavvia automaticamente le istanze quando vengono modificati i file delle applicazioni web (risorse o file di classe). Per configurare Maven in modo da inserire i file di classe compilati nella directory corretta dell'applicazione web, devi modificare l'impostazione Maven outputDirectory:
<build>
  <outputDirectory>
    target/${project.artifactId}-${project.version}/WEB-INF/classes
  </outputDirectory>
  ...
<plugins>
...
devserver.automaticRestart app.devserver.automaticRestart
environment Una mappa delle variabili di ambiente da inviare al server di sviluppo locale. Esempio:
<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags Argomenti aggiuntivi da passare al comando java all'avvio di un'istanza dell'app. Possono essere specificati più di una volta. Esempio:
<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
devserver.jvmFlags app.devserver.jvmFlags
host Nome host a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è localhost. devserver.host app.devserver.host
port Porta più bassa a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è 8080. devserver.port app.devserver.port
serverVersion Versione server da lanciare, le opzioni sono "1" e "2-alpha". Il valore predefinito è "1". devserver.serverVersion app.devserver.serverVersion
services Obbligatorio. Percorsi di una directory contenente una directory contenente WEB-INF/web.xml. Il valore predefinito è build/exploded-app. devserver.services app.devserver.services

appengine:stage

Genera una directory di build dell'applicazione per il deployment.

Puoi utilizzare i seguenti parametri:

Parametro Descrizione Proprietà utente
appEngineDirectory La directory che contiene app.yaml e altri file di configurazione di App Engine supportati. Il valore predefinito è ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact La posizione dell'archivio JAR o WAR di cui eseguire il deployment. Il valore predefinito è ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
cloudSdkPath Parametro facoltativo per configurare la posizione di gcloud CLI. cloudSdkPath
dockerDirectory La directory contenente il Dockerfile e altre risorse Docker. Il valore predefinito è ${basedir}/src/main/docker/${basedir}/src/main/docker/. app.stage.dockerDirectory
stagingDirectory Obbligatorio. La directory in cui posizionare l'applicazione in un'area intermedia. Il valore predefinito è ${project.build.directory}/appengine-staging app.stage.stagingDirectory

appengine:start

Avvia l'esecuzione del server web di sviluppo App Engine in modo asincrono, quindi torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è uguale all'obiettivo run, tranne per il fatto che Maven continua a elaborare gli obiettivi e si chiude dopo che il server è attivo e in esecuzione.

Puoi utilizzare i seguenti parametri:

Proprietà Descrizione Configurazione plug-in Configurazione della riga di comando
environment Una mappa delle variabili di ambiente da inviare al server di sviluppo locale. Esempio:
<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags Argomenti aggiuntivi da passare al comando java all'avvio di un'istanza dell'app. Possono essere specificati più di una volta. Esempio:
<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
devserver.jvmFlags app.devserver.jvmFlags
host Nome host a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è localhost. devserver.host app.devserver.host
port Porta più bassa a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è 8080. devserver.port app.devserver.port
serverVersion Versione server da lanciare, le opzioni sono "1" e "2-alpha". Il valore predefinito è "1". devserver.serverVersion app.devserver.serverVersion
services Obbligatorio. Percorsi di una directory contenente una directory contenente WEB-INF/web.xml. Il valore predefinito è build/exploded-app. devserver.services app.devserver.services
startSuccessTimeout Quantità di tempo in secondi di attesa per l'avvio del server di applicazioni per sviluppatori in background (quando si utilizza appengineStart). devserver.startSuccessTimeout app.devserver.startSuccessTimeout

appengine:stop

Arresta un server di sviluppo web di App Engine in esecuzione.

Puoi utilizzare i seguenti parametri:

Parametro Descrizione Configurazione plug-in Configurazione della riga di comando
host Nome host a cui il server di amministrazione deve essere associato. Il valore predefinito è localhost devserver.adminHost app.devserver.adminHost
port Porta a cui deve essere associato il server di amministrazione. Il valore predefinito è 8000. devserver.adminPort app.devserver.adminPort
cloudSdkHome Parametro facoltativo per configurare la posizione di gcloud CLI. Se questa proprietà non è specificata, il plug-in scarica automaticamente gcloud CLI. cloudSdkHome cloudSdkHome