Gradle und das App Engine-Plug-in verwenden

Gradle ist ein Open-Source-Tool zur Build-Automatisierung, das auf Flexibilität und Leistung ausgerichtet ist. App Engine bietet ein Gradle-Plug-in, mit dem Sie Ihre Anwendung erstellen und in App Engine bereitstellen können.

Hinweis

  1. Java installieren

  2. Gradle installieren

  3. Git installieren

  4. Führen Sie, falls noch nicht erfolgt, die Schritte in der Anleitung aus, um die gcloud CLI herunterzuladen, Ihr Google Cloud -Projekt zu erstellen und Ihre App Engine-Anwendung zu initialisieren.

  5. Installieren Sie die app-engine-java-Komponente der gcloud CLI:

    gcloud components install app-engine-java 

Erstellen Sie ein neues Gradle-Projekt.

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.

So erstellen Sie ein neues Projekt:

  1. Erstellen Sie ein neues Verzeichnis und gehen Sie zu diesem Verzeichnis.

  2. So initialisieren Sie ein neues Projekt:

    1. Führen Sie gradle init aus.

      gradle init --type java-application 

      Sie werden gebeten, Fragen zu beantworten:

      • Geben Sie die Ziel-Java-Version ein (Mind. 7, Standard: 21): 21
      • Anwendungsstruktur auswählen: 1 für Projekt mit einer einzelnen Anwendung
      • Wählen Sie die Build-Skript-DSL aus: 2 (für Groovy).
      • Wählen Sie das Test-Framework aus: 1 (für JUnit 4)
      • Build mit neuen APIs und neuem Verhalten generieren: Nein
    2. Erstellen Sie den Ordner WEB-INF:

      mkdir -p app/src/main/webapp/WEB-INF 
    3. Erstellen Sie den Ordner appengine:

      mkdir -p app/src/main/appengine 
  3. Entfernen Sie die von gradle init generierten Stub-Dateien:

    rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java 
  4. Fügen Sie Ihrer app/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:

    apply plugin: 'java' apply plugin: 'war'  buildscript {     repositories {         // gretty plugin is in Maven Central         mavenCentral()     }     dependencies {         classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.8.1'         classpath 'org.gretty:gretty:4.1.5'     } } apply plugin: 'org.gretty' apply plugin: 'com.google.cloud.tools.appengine'  repositories {     mavenCentral() }  appengine {     deploy {   // deploy configuration         stopPreviousVersion = true  // default - stop the current version         promote = true              // default - & make this the current version         projectId = 'GCLOUD_CONFIG'         version = 'GCLOUD_CONFIG'     } }  sourceSets {     // In Gradle 8, the default location is app/src/java, which does not match     // Maven's directory structure.     main.java.srcDirs = ['src/main/java']     main.resources.srcDirs = ['src/main/resources', 'src/main/webapp']     test.java.srcDirs = ['src/test/java'] }  dependencies {     implementation 'com.google.appengine:appengine-api-1.0-sdk:2.0.30'     implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'      // Test Dependencies     testImplementation 'com.google.appengine:appengine-testing:2.0.30'     testImplementation 'com.google.appengine:appengine-api-stubs:2.0.30'     testImplementation 'com.google.appengine:appengine-tools-sdk:2.0.30'      testImplementation 'com.google.truth:truth:1.1.5'     testImplementation 'junit:junit:4.13.2'     testImplementation 'org.mockito:mockito-core:4.11.0' }
  5. Fügen Sie Ihrem Projekt außerdem mithilfe eines Texteditors oder einer integrierten Entwicklungsumgebung (IDE) folgende Dateien hinzu:

Unter Entwicklungsumgebung einrichten finden Sie eine Übersicht über ein Java App Engine-Projekt.

Anwendung mit dem Entwicklungsserver testen

  1. 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 
  2. Wechseln Sie zum Stammverzeichnis Ihrer Anwendung.

  3. Sie können die Anwendung in der Entwicklungsphase jederzeit auf dem Entwicklungsserver ausführen und testen, indem Sie Gradle aufrufen.

    gradle jettyRun 

    Die Ausführung von Gradle ist auch ohne die Installation durch den Gradle-Wrapper möglich.

  4. Warten Sie, bis der Server gestartet wurde. Der Server wird während der Ausführung Ihrer Anwendung gestartet, wenn eine Nachricht wie diese angezeigt wird:

     :prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO  Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO   runs at: 17:40:05 INFO    http://localhost:8080/ 
  5. Ihre Anwendung läuft unter http://localhost:8080.

Weitere Informationen zum Gretty-Plug-in finden Sie unter Gretty-Konfiguration und Gretty-Aufgaben.

Anwendung bereitstellen

So stellen Sie Ihre Anwendung bereit:

gradle appengineDeploy 

Die Aufgabe appengineDeploy 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

  1. Öffnen Sie das Verzeichnis mit dem Beispielcode.

  2. Führen Sie gradlew aus:

    ./gradlew jettyRun 

Windows

  1. Öffnen Sie das Verzeichnis mit dem Beispielcode.

  2. Führen Sie gradlew aus:

    ./gradlew.bat jettyRun 

Weitere Informationen zu Gradle finden Sie unter App Engine-Gradle-Plug-in – Aufgaben und Attribute.

Nächste Schritte