Dopo aver aggiunto al progetto il plug-in Maven App Engine basato sull'interfaccia a riga di comando gcloud , sono disponibili i seguenti obiettivi Maven specifici per App Engine:
| Obiettivo | Descrizione |
|---|---|
appengine:cloudSdkLogin |
Imposta lo stato globale della gcloud CLI per account. |
appengine:deploy |
Esegue il deployment e le fasi di un'applicazione in App Engine. |
appengine:deployAll |
Esegue il deployment e le fasi di un'applicazione con tutte le relative configurazioni yaml valide contemporaneamente in App Engine. |
appengine:deployCron |
Esegue il deployment e le fasi di un file di configurazione cron.yaml in App Engine. |
appengine:deployDispatch |
Esegue il deployment e le fasi di un file di configurazione dispatch.yaml in App Engine. |
appengine:deployDos |
Esegue il deployment e le fasi di un file di configurazione dos.yaml in App Engine. |
appengine:deployIndex |
Esegue il deployment e le fasi di un file di configurazione index.yaml in App Engine. |
appengine:deployQueue |
Esegue il deployment e le fasi di un file di configurazione queue.yaml in App Engine. |
appengine:help |
Visualizza le informazioni della guida sul plug-in Maven App Engine. |
appengine:run |
Esegue il server di sviluppo App Engine. Quando il server è attivo, controlla continuamente se appengine-web.xml è cambiato. In questo caso, il server ricarica
l'applicazione. Non è necessario interrompere e riavviare l'applicazione
a causa delle modifiche a appengine-web.xml. Questo obiettivo è supportato per i servizi in bundle legacy.
|
appengine:stage |
Genera una directory dell'applicazione per il deployment. |
appengine:start |
Avvia l'esecuzione del server di sviluppo App Engine in modo asincrono, quindi
torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è lo stesso
dell'obiettivo run, tranne per il fatto che Maven continua a elaborare gli obiettivi
ed esce dopo l'avvio del server. Questo obiettivo è supportato per i servizi in bundle legacy.
|
appengine:stop |
Arresta un server di sviluppo web App Engine in esecuzione. Questo obiettivo è supportato per i servizi in bundle legacy. |
Per ulteriori informazioni su come configurare e utilizzare Maven, consulta Utilizzare 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.8.1</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 eseguire lo staging dell'applicazione:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
Consulta le sezioni seguenti per un elenco dei parametri disponibili per ciascun obiettivo.
appengine:deploy
Esegue il deployment e le fasi di un'applicazione in App Engine.
Puoi utilizzare i seguenti parametri, alcuni dei quali corrispondono ai flag della riga di comando gcloud app deploy o ai flag della riga di comando gcloud app services:
| 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 da eseguire. Il valore predefinito è
${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
bucket |
Il bucket Cloud Storage utilizzato per eseguire il commit dei file associati al deployment. Se questo parametro non viene specificato, viene utilizzato il bucket predefinito dell'applicazione. | app.deploy.bucket |
cloudSdkPath |
Parametro facoltativo per configurare la posizione di Google Cloud CLI. Il valore predefinito è il rilevamento automatico dal percorso PATH o dalla posizione di installazione standard. | cloudSdkPath |
deployables |
I file YAML per i servizi o le configurazioni che vuoi eseguire il deployment.
Il valore predefinito è il file app.yaml nella directory di staging.
Se non viene trovato, tenta di generare automaticamente i file di configurazione necessari (ad esempio app.yaml) nella directory di staging. |
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 Google Cloud nome del progetto da utilizzare per questa chiamata.
Il valore predefinito è il progetto corrente selezionato al momento dell'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 connettersi. In genere, non è necessario modificare questo valore. | app.deploy.server |
stagingDirectory |
Obbligatorio. La directory in cui eseguire l'implementazione dell'applicazione. Il valore predefinito è
${project.build.directory}/appengine-staging. |
app.stage.stagingDirectory |
stopPreviousVersion |
Interrompi la versione in esecuzione in precedenza 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 per te. | app.deploy.version |
appengine:help
Visualizza le informazioni della guida sul plug-in Maven App Engine. Per visualizzare i dettagli del parametro, chiama:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
Puoi utilizzare i seguenti parametri:
| Parametro | Descrizione | Proprietà utente |
|---|---|---|
detail |
Se true, vengono visualizzate tutte le proprietà impostabili per ogni obiettivo. Il valore predefinito è
False. |
detail |
goal |
Il nome dell'obiettivo per cui mostrare la guida. Se non viene specificato, 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 riga 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, controlla continuamente se appengine-web.xml è cambiato. In questo caso, il server ricarica l'applicazione. Ciò significa che non
è necessario interrompere e riavviare l'applicazione a causa delle modifiche apportate 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 |
Riavviare automaticamente le istanze quando i file dell'applicazione web (risorse o file di classe) vengono modificati. Per configurare Maven in modo che inserisca i file di classe compilati nella directory corretta dell'applicazione web, devi modificare l'impostazione outputDirectory di Maven:
<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 quando viene avviata un'istanza dell'app. Può essere specificato 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 dell'applicazione. Il valore predefinito è
localhost.
|
devserver.host |
app.devserver.host |
port |
Porta minima a cui devono essere associati i servizi di applicazione. Il valore predefinito è
8080.
|
devserver.port |
app.devserver.port |
serverVersion |
La versione del server da avviare. 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 compilazione 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 da eseguire. Il valore predefinito è
${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
cloudSdkPath |
Parametro facoltativo per configurare la posizione dell'interfaccia a riga di comando gcloud. | 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 eseguire l'implementazione dell'applicazione. 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
e poi torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è lo stesso dell'obiettivo run, tranne per il fatto che Maven continua a elaborare gli obiettivi ed esce dopo l'avvio del server.
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 quando viene avviata un'istanza dell'app. Può essere specificato 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 dell'applicazione. Il valore predefinito è
localhost.
|
devserver.host |
app.devserver.host |
port |
Porta minima a cui devono essere associati i servizi di applicazione. Il valore predefinito è
8080.
|
devserver.port |
app.devserver.port |
serverVersion |
La versione del server da avviare. 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 |
Tempo in secondi di attesa per l'avvio di Dev App Server in background (quando si utilizza appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
Arresta un server di sviluppo web App Engine in esecuzione.
Puoi utilizzare i seguenti parametri:
| Parametro | Descrizione | Configurazione plug-in | Configurazione della riga di comando |
|---|---|---|---|
host |
Nome host a cui deve essere associato il server di amministrazione. 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 dell'interfaccia a riga di comando gcloud. Se questa proprietà non è specificata, il plug-in scarica automaticamente la CLI gcloud. | cloudSdkHome |
cloudSdkHome |