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 dell'interfaccia a riga di comando gcloud 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 |
Mette in fase ed esegue il deployment di una 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 arrestare 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 e poi
torna alla riga di comando. Quando viene eseguito questo obiettivo, il comportamento è lo stesso
come obiettivo run , ma Maven continua a elaborare gli obiettivi
e si chiude quando 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 legacy. |
Per ulteriori informazioni su come configurare e utilizzare Maven, vedi 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 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 per ciascun obiettivo.
appengine:deploy
Esegue il deployment e le fasi di un'applicazione in App Engine.
Puoi usare i seguenti parametri, alcuni dei quali corrispondono
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 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 argomento non viene specificato, lo stato utilizzare il bucket predefinito. | app.deploy.bucket |
cloudSdkPath |
Parametro facoltativo per configurare la località di Google Cloud CLI. L'impostazione predefinita è il rilevamento automatico dal percorso PATH o dall'installazione standard in ogni località. | 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 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 nome del progetto Google Cloud da utilizzare per questa chiamata.
Predefinito è il progetto attuale selezionato
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 |
Arresta la versione in esecuzione in precedenza quando esegui il deployment di una nuova versione 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 di assistenza sul plug-in Maven di 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 impostato su true, vengono visualizzate tutte le proprietà impostabili di ciascun 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 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 per inserire la classe compilata
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 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 più bassa a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è
8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Versione 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 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 da eseguire. 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
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 più bassa a cui devono essere associati i servizi delle applicazioni. Il valore predefinito è
8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Versione 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 |
Intervallo di tempo in secondi di attesa per l'avvio del server di app per sviluppatori in 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 viene specificata, il plug-in viene scaricato automaticamente con gcloud CLI. | cloudSdkHome |
cloudSdkHome |