Obiettivi e parametri del plug-in Maven App Engine

Dopo aver aggiunto alla gcloud CLI 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 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, 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.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 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 di cui 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 nome del progetto Google Cloud 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: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 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 eseguire l'implementazione dell'applicazione. Il valore predefinito è ${project.build.directory}/appengine-staging app.stage.stagingDirectory