Gradle ist ein flexibles und deklaratives Build-Automatisierungssystem, mit dem Sie Builds, Tests, Veröffentlichungen und Bereitstellungen automatisieren können. Auf dieser Seite wird die Verwendung von Gradle mit einem App Engine-Projekt in der Standardumgebung erläutert.
Vorbereitung
Installieren und konfigurieren Sie die folgenden erforderlichen Komponenten:
Google Cloud-Projekt einrichten und validieren
Sie müssen Ihr Google Cloud-Projekt einrichten und die gcloud CLI installieren:
Erstellen Sie mit der Google Cloud Console Ihr Google Cloud-Projekt und richten Sie es ein:
- Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie ein neues.
- Folgen Sie den Eingabeaufforderungen, um zu prüfen, ob eine App Engine-Anwendung vorhanden und die Abrechnung aktiviert ist:
- Wenn Sie eine App Engine-Anwendung für das Projekt erstellen müssen, werden Sie zur Auswahl einer Region aufgefordert, in der sich die App Engine-Anwendung befinden soll.
- Folgen Sie der Anleitung, um ein neues Rechnungskonto zu erstellen, oder wählen Sie ein vorhandenes Konto aus.
- Das Dashboard wird geöffnet, nachdem die App Engine-Anwendung erstellt wurde und die Abrechnung in Ihrem Projekt aktiviert ist.
Sie müssen die gcloud CLI nicht installieren, da das Plug-in das SDK bei Bedarf automatisch installiert.
Neues Gradle-Projekt erstellen
Mithilfe der Shell können Sie ein Gradle-Projekt neu erstellen. Falls Sie das Plug-in ausprobieren möchten, können Sie auch das "Hello World"-Projekt herunterladen, lokal ausführen und bereitstellen.
Erstellen Sie ein neues Verzeichnis und rufen Sie es auf.
So initialisieren Sie ein neues Projekt:
gradle init --type java-library; mkdir -p src/main/webapp/WEB-INF; rm src/main/java/Library.java src/test/java/LibraryTest.java
Fügen Sie Ihrer
build.gradle
-Datei Folgendes hinzu, um App Engine Gradle-Aufgaben, Maven-Repositories, das App Engine Gradle-Plug-in, Abhängigkeiten und die Aufgabenkonfiguration hinzuzufügen:Fügen Sie Ihrem Projekt außerdem mithilfe eines Texteditors oder einer integrierten Entwicklungsumgebung (IDE) folgende Dateien hinzu:
Unter Konfigurationsdateien finden Sie einen Überblick über ein Java App Engine-Projekt.
Die Hello World-App herunterladen
Klonen Sie das Repository der Hello World Beispiel-App auf dem lokalen Computer:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Sie können auch das Beispiel als ZIP-Datei herunterladen und extrahieren.
Wechseln Sie in das Verzeichnis, das den Beispielcode enthält:
cd java-docs-samples/appengine-java8/helloworld
Anwendung mit dem Entwicklungsserver testen
Wenn Sie bei der lokalen Ausführung des Projekts auf Google-Ressourcen zugreifen möchten, legen Sie die Standardanmeldedaten für die Anwendung fest. Dazu führen Sie Folgendes aus:
gcloud auth application-default login
Wechseln Sie zum Stammverzeichnis Ihrer Anwendung.
Sie können die Anwendung in der Entwicklungsphase jederzeit auf dem Entwicklungsserver ausführen und testen, indem Sie Gradle aufrufen.
gradle appengineRun
Sie können Gradle aber auch ausführen, ohne es zu installieren. Verwenden Sie dazu den Gradle-Wrapper.
Warten Sie, bis der Server gestartet worden ist. Der Server wird während der Ausführung Ihrer Anwendung gestartet, wenn eine Nachricht wie diese angezeigt wird:
:compileJava :processResources NO-SOURCE :classes :war :explodeWar :assemble :appengineRun 2018-06-05 22:50:46.231:INFO::main: Logging initialized @321ms Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: Module instance default is running at http://localhost:8080/ Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: The admin console is running at http://localhost:8080/_ah/admin Jun 05, 2018 10:50:49 PM com.google.appengine.tools.development.DevAppServerImpl doStart INFO: Dev App Server is now running
Ihre Anwendung läuft unter
http://127.0.0.1:8080
.
Fehlerbehebung auf dem Entwicklungsserver
Wenn Sie Fehler in einer lokal ausgeführten Anwendung beheben möchten, legen Sie das Attribut jvmFlags
so fest, dass die Fehlerbehebung in der zugrunde liegenden JVM aktiviert wird. Beispiel:
appengine {
run {
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005']
}
}
Hot Reload der Anwendung aktivieren
Ein Hot Reload ist die Möglichkeit, eine oder mehrere Klassen in einer laufenden Anwendung zu aktualisieren, ohne die Umgebung zu stoppen. Zur Aktivierung eines Hot Reloads müssen Sie folgende Schritte ausführen:
Weisen Sie den lokalen Server an, nach Änderungen zu suchen:
appengine { run { automaticRestart = true } }
Führen Sie bei laufender Anwendung die Aufgabe
explodeWar
aus, um die Änderungen direkt in die explodierte Anwendung zu kopieren und an die laufende Anwendung weiterzugeben.
Anwendung erstellen
So stellen Sie Ihre Anwendung bereit:
gradle appengineDeploy
Die appengineDeploy
-Aufgabe und alle anderen Gradle-Aufgaben haben zugehörige Attribute, die Sie verwenden können. Eine vollständige Liste der Aufgaben und Attribute finden Sie unter App Engine-Gradle-Plug-in – Aufgaben und Attribute.
Gradle-Wrapper verwenden
Gradle bietet einen Mechanismus, um die erforderliche Version von Gradle ohne Installation herunterzuladen und auszuführen :
Linux/macOS
./gradlew appengineRun
Windows
gradlew.bat appengineRun
Weitere Informationen zu Gradle finden Sie unter App Engine-Gradle-Plug-in – Aufgaben und Attribute.
Weitere Informationen
- Plug-in-Code prüfen und Fehler auf GitHub melden
- Mehr erfahren über das Definieren von Attributen für Aufgaben unter App Engine-Gradle-Plug-in – Aufgaben und Attribute