App Engine-Gradle-Plug-in – Aufgaben und Attribute

Nach dem Hinzufügen des App Engine-Plug-ins zu Ihrem Projekt können Sie die folgenden App Engine-spezifischen Gradle-Aufgaben für Anwendungen in der App Engine-Standardumgebung verwenden:

Aufgabe Beschreibung
tasks Zeigt Hilfeinformationen zu installierten Aufgaben an.
appengineCloudSdkLogin Legt die globale gcloud CLI für das Konto fest.
appengineDeploy Löst Staging und Bereitstellung einer Anwendung in App Engine aus.
appengineDeployAll Stellt eine Anwendung mit allen gültigen yaml-Konfigurationen gleichzeitig in App Engine bereit.
appengineDeployCron Stellt eine cron.yaml-Konfigurationsdatei in App Engine bereit.
appengineDeployDispatch Stellt eine dispatch.yaml-Konfigurationsdatei in App Engine bereit.
appengineDeployDos Stellt eine dos.yaml-Konfigurationsdatei in App Engine bereit.
appengineDeployIndex Stellt eine index.yaml-Konfigurationsdatei in App Engine bereit.
appengineDeployQueue Stellt eine queue.yaml-Konfigurationsdatei in App Engine bereit.
appengineRun 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.
appengineStage Erzeugt ein Anwendungsverzeichnis für die Bereitstellung.
appengineStart Führt den App Engine-Entwicklungsserver asynchron aus und kehrt dann zur Befehlszeile zurück. Wenn dieses Ziel ausgeführt wird, ist das Verhalten mit dem run-Ziel identisch, abgesehen davon, dass Gradle Aufgaben weiter verarbeitet und beendet, sobald der Server läuft.
appengineStop Beendet einen ausgeführten App Engine-Webentwicklungsserver.
explodeWar Extrahiert die WAR-Datei in das Build-Verzeichnis.

So zeigen Sie eine Liste aller Aufgaben an:

gradle tasks

Weitere Informationen zum Einrichten und Verwenden von Gradle finden Sie im Artikel zur Verwaltung eines Projekts in der flexiblen App Engine-Umgebung mit Gradle.

Aufgabenattribute

Die Datei gradle.build enthält einen Satz von Regeln zur Beschreibung Ihres Builds. Sie ist in einer domainspezifischen Sprache geschrieben, die auf der Sprache Groovy beruht.

Jeder Aufgabe sind Attribute zugeordnet (siehe unten), die verwendet werden können. Diese können Sie in der Datei gradle.build mit einem Konfigurationsabschluss, einer Aufgabe und Attributen angeben.

Im folgenden Beispiel gilt:

  • Der Konfigurationsabschluss für das Plug-in lautet appengine.
  • Die Aufgabe ist run.
  • Das Attribut port ist auf 8080 gesetzt.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

Wenn Sie nur einige Eigenschaften angeben möchten, können Sie sie in einer Zeile zusammenfassen:

  appengine.run.port = 8888

In den folgenden Abschnitten finden Sie eine Liste der Eigenschaften, die für jede Aufgabe verfügbar sind.

appengineStage

task(stage)

Erzeugt ein Anwendungsverzeichnis für die Bereitstellung. appengineStage wird von der Aufgabe appengineDeploy verwendet.

Sie können folgende Attribute verwenden:

AttributBeschreibung
compileEncoding Die Zeichencodierung, die beim Kompilieren von JSPs verwendet werden soll. Gilt für Anwendungen, die nur in der App Engine-Standardumgebung ausgeführt werden.
deleteJsps JSP-Quelldateien werden nach der Kompilierung gelöscht. Gilt für Anwendungen, die nur in der App Engine-Standardumgebung ausgeführt werden.
disableJarJsps Deaktiviert das Hinzufügen der Klassen, die aus JSPs generiert wurden. Gilt für Anwendungen, die nur in der App Engine-Standardumgebung ausgeführt werden.
disableUpdateCheck Deaktivieren Sie die Suche nach Aktualisierungen der gcloud CLI.
enableJarClasses Erstellt eine Jar-Datei für WEB-INF/classes content. Gilt für Anwendungen, die nur in der App Engine-Standardumgebung ausgeführt werden.
useMtimeFileWatcher Verwendet mtime-Abfragen, um Änderungen des Quellcodes zu ermitteln. Dies ist hilfreich, wenn Code von einem Remotecomputer mit verteiltem Dateisystem geändert wird.
enableJarSplitting Teilt JAR-Dateien, die größer als 10 MB sind, in kleinere Dateien auf. Gilt nur für die App Engine-Standardumgebung.
enableQuickstart Verwendet den Jetty-Quickstart, um Servlet-Anmerkungen zu verarbeiten. Gilt nur für die App Engine-Standardumgebung.
jarSplittingExcludes Schließt Dateien aus, die sich auf der Liste der durch Kommas getrennten Suffixe aus allen JAR-Dateien befinden. Gilt für Anwendungen, die nur in der App Engine-Standardumgebung ausgeführt werden.
sourceDirectory Erforderlich. Der Speicherort der kompilierten Webanwendungsdateien oder des explodierten WAR-Verzeichnisses. Dies wird als Quelle für das Staging verwendet. Gilt nur für die App Engine-Standardumgebung. Standardwert ist build/exploded-${gradle-module-name}.
stagingDirectory Erforderlich. Das Verzeichnis für das Staging der Anwendung. Standardwert ist build/staged-app.

appengineRun

task(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 die folgenden Eigenschaften verwenden, von denen einige den Befehlszeilen-Flags des lokalen Entwicklungsservers entsprechen:

Attribut Beschreibung
environment Eine Zuordnung von Umgebungsvariablen, die an den lokalen Entwicklungsserver gesendet werden. Beispiel: [key1: "value1", key2: "value2"]
jvmFlags Zusätzliche Argumente, die beim Starten einer Instanz der Anwendung an den Java-Befehl übergeben werden. Kann mehrmals angegeben werden. Beispiel: -Xmx1024m -Xms256m
host Hostname, an den Anwendungsdienste gebunden werden sollen. Standardwert ist localhost.
port Niedrigster Port, an den Anwendungsdienste gebunden werden sollen. Der Standardwert ist 8080.
serverVersion Serverversion zum Starten, die Optionen sind „1“ und „2-alpha“. Standardwert ist „1“.
services Erforderlich. Pfad(e) zu einem Verzeichnis, das ein Verzeichnis WEB-INF/web.xml enthält. Der Standardwert ist build/exploded-app.
startSuccessTimeout Zeit in Sekunden, die gewartet wird, bis der Entwicklungsanwendungsserver im Hintergrund gestartet wird (bei Verwendung von appengineStart).

appengineDeploy

task(deploy)

Stellt eine Anwendung in App Engine bereit.

Attribut Beschreibung
appEngineDirectory Speicherort der .yaml-Konfigurationsdateien (cron, index usw.), über die konfigurationsspezifische Bereitstellungen (appengineDeployCron usw.) ausgeführt werden. Bei Standardanwendungen werden Ihre .xml-Konfigurationsdateien beim Staging in .yaml konvertiert und in build/staged-app/WEB-INF/appengine-generated abgelegt.
bucket Der Google Cloud Storage-Bucket für das Staging von Dateien, die mit der Bereitstellung verknüpft sind. Wenn dieses Argument nicht angegeben ist, wird der Standard-Bucket der Anwendung verwendet.
imageUrl Bereitstellen mit einem bestimmten Docker-Image. Die Docker-URL muss von einem der gültigen Google Container Registry-Hostnamen stammen.
projectId Die Google Cloud Platform-Projekt-ID, die für diesen Aufruf verwendet werden soll. Sie müssen eine Projekt-ID angeben oder mit GCLOUD_CONFIG festlegen, dass das Projekt verwendet wird, das in Ihrem gcloud-Konfigurationsstatus angegeben ist.
promote Bereitgestellte Version für den gesamten Traffic hochstufen. Der Standardwert ist „True“.
server Der App Engine-Server, zu dem eine Verbindung hergestellt werden soll. Dieser Wert muss in der Regel nicht geändert werden.
stopPreviousVersion Beendet die zuvor ausgeführte Version, wenn Sie eine neue Version bereitstellen, die den gesamten Traffic empfängt.
version Die Version der Anwendung, die durch diese Bereitstellung erstellt oder ersetzt wird. Wenn Sie keine Version angeben, wird automatisch eine erzeugt.

Globale Attribute

AttributBeschreibung
tools.cloudSdkHome Optionales Attribut zum Konfigurieren des Speicherorts der gcloud CLI Wenn dieses Attribut nicht angegeben ist, lädt das Plug-in die gcloud CLI automatisch herunter.
tools.cloudSdkVersion Optionaler Parameter zur Angabe der gewünschten Version der gcloud CLI.