Nachdem Sie dem Projekt das gcloud CLI-basierte App Engine-Maven-Plug-in hinzugefügt haben, sind folgende App Engine-spezifischen Maven-Ziele verfügbar:
Ziel | Beschreibung |
---|---|
appengine:cloudSdkLogin |
Legt die globale gcloud CLI für das Konto fest. |
appengine:deploy |
Löst Staging und Bereitstellung einer Anwendung in App Engine aus. |
appengine:deployAll |
Stellt eine Anwendung mit allen gültigen yaml-Konfigurationen gleichzeitig in App Engine bereit. |
appengine:deployCron |
Stellt eine cron.yaml -Konfigurationsdatei in App Engine bereit. |
appengine:deployDispatch |
Stellt eine dispatch.yaml -Konfigurationsdatei in App Engine bereit. |
appengine:deployDos |
Stellt eine dos.yaml -Konfigurationsdatei in App Engine bereit. |
appengine:deployIndex |
Stellt eine index.yaml -Konfigurationsdatei in App Engine bereit. |
appengine:deployQueue |
Stellt eine queue.yaml -Konfigurationsdatei in App Engine bereit |
appengine:help |
Zeigt Hilfeinformationen zum App Engine-Maven-Plug-in an. |
appengine:run |
Führt den App Engine-Entwicklungsserver aus. Bei Ausführung des Servers wird regelmäßig geprüft, ob sich appengine-web.xml geändert hat. Ist dies der Fall, wird die Anwendung vom Server neu geladen. Sie müssen Ihre Anwendung aufgrund von Änderungen an appengine-web.xml nicht beenden und neu starten. Dieses Ziel wird für die gebündelten Legacy-Dienste unterstützt.
|
appengine:stage |
Erzeugt ein Anwendungsverzeichnis für die Bereitstellung. |
appengine:start |
Startet die asynchrone Ausführung des App Engine-Entwicklungsservers und kehrt dann zur Befehlszeile zurück. Die Ausführung dieses Ziels ist mit der Ausführung des Ziels run identisch, mit dem Unterschied, dass Maven weiter Ziele verarbeitet und beendet wird, wenn der Server ausgeführt wird. Dieses Ziel wird für die gebündelten Legacy-Dienste unterstützt.
|
appengine:stop |
Beendet einen ausgeführten App Engine-Webentwicklungsserver. Dieses Ziel wird für die gebündelten Legacy-Dienste unterstützt. |
Weitere Informationen zum Einrichten und Anwenden von Maven finden Sie unter Maven verwenden.
Parameter verwenden
Jedem Ziel sind Parameter zugewiesen, die Sie in der Datei pom.xml
angeben können.
Beispiel:
<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>
Sie können Konfigurationsparameter auch in der Befehlszeile gemäß dem Muster -D[USER_PROPERTY]=[PARAMETER_VALUE]
definieren.
So geben Sie beispielsweise ein Verzeichnis an, in dem Ihre Anwendung getestet werden soll:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
In den nachstehenden Abschnitten sind die Parameter aufgeführt, die für jedes Ziel zur Verfügung stehen.
appengine:deploy
Löst Staging und Bereitstellung einer Anwendung in App Engine aus.
Sie können die folgenden Parameter verwenden, von denen einige den Befehlszeilen-Flags für gcloud app deploy
oder den Befehlszeilen-Flags für gcloud app services
entsprechen:
Parameter | Beschreibung | Nutzereigenschaft |
---|---|---|
appEngineDirectory |
Das Verzeichnis, das app.yaml und andere unterstützte App Engine-Konfigurationsdateien enthält. Standardwert ist ${basedir}/src/main/appengine . |
app.stage.appEngineDirectory |
artifact |
Der Speicherort des bereitzustellenden JAR- oder WAR-Archivs. Standardwert ist ${project.build.directory}/${project.build.finalName}.${project.packaging} . |
app.stage.artifact |
bucket |
Der Cloud Storage-Bucket, der für das Staging von Dateien verwendet wird, die der Bereitstellung zugeordnet sind. Wenn dieses Argument nicht angegeben ist, wird der Standard-Bucket der Anwendung verwendet. | app.deploy.bucket |
cloudSdkPath |
Optionaler Parameter zum Konfigurieren des Speicherorts des Google Cloud CLI. Standardmäßig erfolgt eine automatische Erkennung anhand der PATH-Variable oder des Standardinstallationsorts. | cloudSdkPath |
deployables |
Die YAML-Dateien für die Dienste oder Konfigurationen, die Sie bereitstellen möchten.
Der Standardwert ist die app.yaml -Datei im Staging-Verzeichnis.
Wenn sie nicht gefunden wird, wird versucht, erforderliche Konfigurationsdateien wie app.yaml automatisch im Staging-Verzeichnis zu erzeugen. |
app.deploy.deployables |
dockerDirectory |
Das Verzeichnis mit dem Dockerfile und anderen Docker-Ressourcen.
Standardwert ist ${basedir}/src/main/docker/ . |
app.stage.dockerDirectory |
imageUrl |
Bereitstellen mit einem bestimmten Docker-Image. ImageUrl muss ein gültiger Artifact Registry-Name sein, z. B. docker.pkg.dev/foo , wobei foo der Name des Images ist. |
app.deploy.imageUrl |
projectId |
Der Google Cloud-Projektname für diesen Aufruf.
Standardeinstellung ist das aktuelle Projekt, das beim Initialisieren von gcloud ausgewählt wurde. |
app.deploy.projectId |
promote |
Bereitgestellte Version für den gesamten Traffic hochstufen. Standardwert ist True . |
app.deploy.promote |
server |
Der App Engine-Server, mit dem eine Verbindung hergestellt werden soll. Dieser Wert muss in der Regel nicht geändert werden. | app.deploy.server |
stagingDirectory |
Erforderlich. Das Verzeichnis für das Staging der Anwendung. Standardwert ist ${project.build.directory}/appengine-staging . |
app.stage.stagingDirectory |
stopPreviousVersion |
Beenden Sie die zuvor ausgeführte Version, wenn Sie eine neue Version bereitstellen, die den gesamten Traffic empfängt. | app.deploy.stopPreviousVersion |
version |
Die Version der Anwendung, die durch diese Bereitstellung erstellt oder ersetzt wird. Wenn Sie keine Version angeben, wird eine für Sie erzeugt. | app.deploy.version |
appengine:help
Zeigt Hilfeinformationen zum Maven-Plug-in für App Engine an. Um die Parameterdetails zu sehen, rufen Sie Folgendes auf:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
Sie können die folgenden Parameter verwenden:
Parameter | Beschreibung | Nutzereigenschaft |
---|---|---|
detail |
Wenn der Wert "true" ist, werden alle festlegbaren Properties für jedes Ziel angezeigt. Standardwert ist False . |
detail |
goal |
Der Name des Ziels, für das Hilfe angezeigt werden soll. Wenn nichts angegeben ist, werden alle Ziele angezeigt. | goal |
indentSize |
Die Anzahl der Leerzeichen pro Einrückungsstufe. Muss eine positive Zahl sein.
Standardwert ist 2 . |
indentSize |
lineLength |
Die maximale Länge einer Anzeigezeile. Muss eine positive Zahl sein.
Standardwert ist 80 . |
lineLength |
appengine:run
Führt den App Engine-Entwicklungsserver aus. Bei Ausführung des Servers wird regelmäßig geprüft, ob sich appengine-web.xml
geändert hat. Ist dies der Fall, wird die Anwendung vom Server neu geladen. Daher müssen Sie Ihre Anwendung aufgrund von Änderungen an appengine-web.xml
nicht beenden oder neu starten.
Sie können dafür die folgenden Parameter verwenden, wobei einige den Befehlszeilen-Flags des lokalen Entwicklungsservers entsprechen.
Attribut | Beschreibung | Plug-in-Konfiguration | Befehlszeilenkonfiguration |
---|---|---|---|
automaticRestart |
Instanzen automatisch neu starten, wenn Webanwendungsdateien (Ressourcen- oder Klassendateien) geändert werden. Sie müssen die Maven-Einstellung für outputDirectory ändern, um Maven so zu konfigurieren, dass die kompilierten Klassendateien im richtigen Verzeichnis der Webanwendung abgelegt werden:
<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
environment |
Eine Zuordnung von Umgebungsvariablen, die an den lokalen Entwicklungsserver gesendet werden.
Beispiel:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Zusätzliche Argumente, die beim Starten einer Instanz der Anwendung an den Java-Befehl übergeben werden. Kann mehrmals angegeben werden. Beispiel:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Hostname, an den Anwendungsdienste gebunden werden sollen. Standardwert ist localhost .
|
devserver.host |
app.devserver.host |
port |
Niedrigster Port, an den Anwendungsdienste gebunden werden sollen. Der Standardwert ist 8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Serverversion zum Starten, die Optionen sind „1“ und „2-alpha“. Standardwert ist „1“. | devserver.serverVersion |
app.devserver.serverVersion |
services |
Erforderlich. Pfad(e) zu einem Verzeichnis, das ein Verzeichnis WEB-INF/web.xml enthält. Der Standardwert ist build/exploded-app .
|
devserver.services |
app.devserver.services |
appengine:stage
Erzeugt ein Anwendungs-Build-Verzeichnis für die Bereitstellung
Sie können die folgenden Parameter verwenden:
Parameter | Beschreibung | Nutzereigenschaft |
---|---|---|
appEngineDirectory |
Das Verzeichnis, das app.yaml und andere unterstützte App Engine-Konfigurationsdateien enthält. Der Standardwert ist ${basedir}/src/main/appengine . |
app.stage.appEngineDirectory |
artifact |
Der Speicherort des bereitzustellenden JAR- oder WAR-Archivs. Standardwert ist ${project.build.directory}/${project.build.finalName}.${project.packaging} . |
app.stage.artifact |
cloudSdkPath |
Optionaler Parameter zum Konfigurieren des Speicherorts der gcloud CLI. | cloudSdkPath |
dockerDirectory |
Das Verzeichnis mit dem Dockerfile und anderen Docker-Ressourcen.
Standardwert ist ${basedir}/src/main/docker/ ${basedir}/src/main/docker/ . |
app.stage.dockerDirectory |
stagingDirectory |
Erforderlich. Das Verzeichnis für das Staging der Anwendung. Standardwert ist ${project.build.directory}/appengine-staging . |
app.stage.stagingDirectory |
appengine:start
Startet die asynchrone Ausführung des App Engine-Entwicklungswebservers und kehrt dann zur Befehlszeile zurück. Die Ausführung dieses Ziels ist mit der Ausführung des Ziels run
identisch, mit dem Unterschied, dass Maven weiter Ziele verarbeitet und beendet wird, wenn der Server ausgeführt wird.
Sie können folgende Parameter verwenden:
Attribut | Beschreibung | Plug-in-Konfiguration | Befehlszeilenkonfiguration |
---|---|---|---|
environment |
Eine Zuordnung von Umgebungsvariablen, die an den lokalen Entwicklungsserver gesendet werden.
Beispiel:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Zusätzliche Argumente, die beim Starten einer Instanz der Anwendung an den Java-Befehl übergeben werden. Kann mehrmals angegeben werden. Beispiel:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Hostname, an den Anwendungsdienste gebunden werden sollen. Standardwert ist localhost .
|
devserver.host |
app.devserver.host |
port |
Niedrigster Port, an den Anwendungsdienste gebunden werden sollen. Der Standardwert ist 8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Serverversion zum Starten, die Optionen sind „1“ und „2-alpha“. Standardwert ist „1“. | devserver.serverVersion |
app.devserver.serverVersion |
services |
Erforderlich. Pfad(e) zu einem Verzeichnis, das ein Verzeichnis WEB-INF/web.xml enthält. Der Standardwert ist build/exploded-app .
|
devserver.services |
app.devserver.services |
startSuccessTimeout |
Zeit in Sekunden, die gewartet wird, bis der Entwicklungsanwendungsserver im Hintergrund gestartet wird (bei Verwendung von appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
Beendet einen ausgeführten App Engine-Webentwicklungsserver.
Es können folgende Parameter verwendet werden:
Parameter | Beschreibung | Plug-in-Konfiguration | Befehlszeilenkonfiguration |
---|---|---|---|
host |
Hostname, an den der Verwaltungsserver gebunden werden soll. Standardwert ist localhost . |
devserver.adminHost |
app.devserver.adminHost |
port |
Port, an den der Verwaltungsserver gebunden werden soll. Standardwert ist 8000 . |
devserver.adminPort |
app.devserver.adminPort |
cloudSdkHome |
Optionaler Parameter zum Konfigurieren des Speicherorts der gcloud CLI. Wenn dieses Attribut nicht angegeben ist, lädt das Plug-in die gcloud CLI automatisch herunter. | cloudSdkHome |
cloudSdkHome |