Anda dapat menggunakan Gradle, sistem otomatisasi build fleksibel yang deklaratif dan digunakan untuk mengotomatiskan build, pengujian, penayangan, dan deployment. Halaman ini menjelaskan cara menggunakan Gradle dengan project App Engine di lingkungan standar.
Sebelum memulai
Instal dan konfigurasi prasyarat berikut:
Instal Gradle (v3.4.1 atau yang lebih baru)
Menyiapkan dan memvalidasi project Google Cloud
Anda perlu menyiapkan project Google Cloud dan menginstal gcloud CLI:
Gunakan konsol Google Cloud untuk membuat dan menyiapkan project Google Cloud Anda:
- Pilih atau buat project Google Cloud baru.
- Ikuti prompt untuk memastikan bahwa aplikasi App Engine
ada dan penagihan diaktifkan:
- Jika perlu membuat aplikasi App Engine untuk project, Anda akan diminta untuk memilih region tempat Anda ingin aplikasi App Engine berada.
- Ikuti prompt untuk membuat akun penagihan baru atau pilih akun yang ada.
- Dasbor akan terbuka setelah aplikasi App Engine Anda dibuat dan penagihan diaktifkan di project Anda.
Anda tidak perlu menginstal gcloud CLI karena plugin akan otomatis menginstal SDK saat diperlukan.
Membuat project Gradle baru
Anda dapat membuat project Gradle baru dari awal menggunakan shell. Atau, untuk mencoba plugin, Anda dapat mendownload, menjalankan secara lokal, dan men-deploy project halo dunia.
Buat dan masukkan direktori baru.
Untuk melakukan inisialisasi project baru:
gradle init --type java-library; mkdir -p src/main/webapp/WEB-INF; rm src/main/java/Library.java src/test/java/LibraryTest.java
Tambahkan kode berikut ke file
build.gradle
Anda untuk menambahkan tugas Gradle App Engine, repositori Maven, plugin Gradle App Engine, dependensi, dan konfigurasi tugas:Anda juga perlu menambahkan file berikut ke project menggunakan editor teks atau Integrated Development Environment (IDE):
Lihat File konfigurasi untuk ringkasan project App Engine Java.
Mendownload aplikasi Halo Dunia
Clone repositori aplikasi contoh Halo Dunia ke komputer lokal Anda:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Anda juga dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang berisi kode contoh:
cd java-docs-samples/appengine-java8/helloworld
Menguji aplikasi dengan server pengembangan
Untuk mengakses resource Google dari project Anda saat berjalan secara lokal, tetapkan kredensial default aplikasi dengan menjalankan:
gcloud auth application-default login
Ubah ke root direktori aplikasi Anda.
Selama fase pengembangan, Anda dapat menjalankan dan menguji aplikasi kapan saja di server pengembangan dengan memanggil Gradle:
gradle appengineRun
Atau, Anda dapat menjalankan Gradle tanpa menginstalnya dengan menggunakan wrapper Gradle.
Tunggu hingga server dimulai. Server akan dimulai dengan aplikasi berjalan saat Anda melihat pesan yang mirip dengan ini:
: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
Lihat aplikasi Anda berjalan di
http://127.0.0.1:8080
.
Proses debug pada server pengembangan
Untuk men-debug aplikasi yang berjalan secara lokal, tetapkan properti jvmFlags
untuk
mengaktifkan proses debug di JVM yang mendasarinya, misalnya:
appengine {
run {
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005']
}
}
Mengaktifkan hot reload aplikasi
Hot Reload adalah kemampuan untuk mengupdate satu atau beberapa class dalam aplikasi yang saat ini berjalan tanpa menghentikan lingkungan. Untuk mengaktifkan hot reload:
Anda harus memberi tahu server lokal untuk memindai perubahan:
appengine { run { automaticRestart = true } }
Saat aplikasi sedang berjalan, jalankan tugas
explodeWar
untuk menyalin perubahan ke aplikasi yang di-explode secara langsung dan menyebarkan perubahan ke dalam aplikasi yang sedang berjalan.
Men-deploy aplikasi Anda
Untuk men-deploy aplikasi Anda:
gradle appengineDeploy
Tugas appengineDeploy
dan semua tugas Gradle lainnya memiliki properti terkait
yang dapat Anda gunakan. Untuk mengetahui daftar lengkap tugas dan properti, baca
Tugas dan Properti
Gradle App Engine.
Menggunakan wrapper Gradle
Gradle menyediakan mekanisme untuk mendownload dan menjalankan versi Gradle yang diperlukan tanpa penginstalan:
Linux/macOS
./gradlew appengineRun
Windows
gradlew.bat appengineRun
Informasi tambahan tentang Gradle dapat ditemukan di Tugas dan Properti Gradle App Engine.
Langkah selanjutnya
- Pelajari kode plugin dan laporkan masalah di GitHub.
- Pelajari cara menentukan properti untuk tugas dengan melihat Tugas dan Properti Gradle App Engine.