Sasaran dan Parameter Plugin Maven App Engine

Setelah menambahkan plugin App Engine Maven berbasis gcloud CLI ke project Anda , sasaran Maven khusus App Engine berikut akan tersedia:

Tujuan Deskripsi
appengine:cloudSdkLogin Menetapkan status gcloud CLI global untuk account.
appengine:deploy Melakukan tahapan dan men-deploy aplikasi ke App Engine.
appengine:deployAll Melakukan tahapan dan men-deploy aplikasi dengan semua konfigurasi yaml yang valid secara bersamaan ke App Engine.
appengine:deployCron Melakukan tahapan dan men-deploy file konfigurasi cron.yaml ke App Engine.
appengine:deployDispatch Melakukan tahapan dan men-deploy file konfigurasi dispatch.yaml ke App Engine.
appengine:deployDos Melakukan tahapan dan men-deploy file konfigurasi dos.yaml ke App Engine.
appengine:deployIndex Melakukan tahapan dan men-deploy file konfigurasi index.yaml ke App Engine.
appengine:deployQueue Melakukan tahapan dan men-deploy file konfigurasi queue.yaml ke App Engine.
appengine:help Menampilkan informasi bantuan tentang plugin Maven App Engine.
appengine:run Menjalankan server pengembangan App Engine. Saat berjalan, server terus memeriksa untuk menentukan apakah appengine-web.xml telah berubah. Jika ya, server akan memuat ulang aplikasi. Anda tidak perlu menghentikan dan memulai ulang aplikasi karena adanya perubahan pada appengine-web.xml. Sasaran ini didukung untuk layanan paket lama.
appengine:stage Menghasilkan direktori aplikasi untuk deployment.
appengine:start Mulai menjalankan devserver App Engine secara asinkron, lalu kembali ke command line. Saat sasaran ini berjalan, perilakunya sama dengan sasaran run, kecuali bahwa Maven terus memproses sasaran dan keluar setelah server aktif dan berjalan. Sasaran ini didukung untuk layanan paket lama.
appengine:stop Menghentikan server pengembangan web App Engine yang sedang berjalan. Sasaran ini didukung untuk layanan paket lama.

Untuk mengetahui informasi selengkapnya tentang cara menyiapkan dan menggunakan Maven, lihat Menggunakan Maven.

Menggunakan parameter

Setiap sasaran memiliki parameter terkait yang dapat Anda tentukan di file pom.xml. Contoh:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.8.1</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
     </configuration>
  </plugin>
</plugins>

Anda juga dapat menentukan parameter konfigurasi dalam command line, dengan mengikuti pola -D[USER_PROPERTY]=[PARAMETER_VALUE].

Misalnya, untuk menetapkan direktori tempat melakukan tahapan aplikasi:

mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]

Lihat bagian berikut untuk mengetahui daftar parameter yang tersedia untuk setiap sasaran.

appengine:deploy

Melakukan tahapan dan men-deploy aplikasi ke App Engine.

Anda dapat menggunakan parameter berikut, beberapa di antaranya sesuai dengan tanda command line gcloud app deploy atau tanda command line gcloud app services:

Parameter Deskripsi Properti Pengguna
appEngineDirectory Direktori yang berisi app.yaml dan file konfigurasi App Engine lain yang didukung. Default-nya adalah ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact Lokasi arsip JAR atau WAR yang akan di-deploy. Default-nya adalah ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
bucket Bucket Cloud Storage yang digunakan untuk melakukan tahapan file yang terkait dengan deployment. Jika argumen ini tidak ditentukan, bucket default aplikasi akan digunakan. app.deploy.bucket
cloudSdkPath Parameter opsional untuk mengonfigurasi lokasi Google Cloud CLI. Default-nya adalah menemukan secara otomatis dari PATH atau lokasi instal standar. cloudSdkPath
deployables File YAML untuk layanan atau konfigurasi yang ingin Anda deploy. Defaultnya adalah file app.yaml dalam direktori staging. Jika tidak ditemukan, coba buat secara otomatis file konfigurasi yang diperlukan (seperti app.yaml) di direktori staging. app.deploy.deployables
dockerDirectory Direktori yang berisi Dockerfile dan resource Docker lainnya. Default-nya adalah ${basedir}/src/main/docker/. app.stage.dockerDirectory
imageUrl Men-deploy dengan image Docker tertentu. ImageUrl harus berupa nama Artifact Registry yang valid, misalnya, docker.pkg.dev/foo, dengan foo adalah nama image. app.deploy.imageUrl
projectId Nama project Google Cloud yang akan digunakan untuk pemanggilan ini. Defaultnya adalah project saat ini yang dipilih saat melakukan inisialisasi gcloud. app.deploy.projectId
promote Mempromosikan versi yang di-deploy untuk menerima semua traffic. Default-nya adalah True. app.deploy.promote
server Server App Engine yang akan dihubungkan. Biasanya, Anda tidak perlu mengubah nilai ini. app.deploy.server
stagingDirectory Wajib. Direktori tempat aplikasi dijalankan. Default-nya adalah ${project.build.directory}/appengine-staging. app.stage.stagingDirectory
stopPreviousVersion Hentikan versi yang berjalan sebelumnya saat men-deploy versi baru yang menerima semua traffic. app.deploy.stopPreviousVersion
version Versi aplikasi yang akan dibuat atau diganti oleh deployment ini. Jika Anda tidak menentukan versi, versi tersebut akan dibuat untuk Anda. app.deploy.version

appengine:help

Menampilkan informasi bantuan tentang plugin Maven App Engine. Untuk menampilkan detail parameter, panggil:

mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]

Anda dapat menggunakan parameter berikut:

Parameter Deskripsi Properti Pengguna
detail Jika benar, tampilkan semua properti yang dapat ditetapkan untuk setiap sasaran. Default-nya adalah False. detail
goal Nama tujuan untuk menampilkan bantuan. Jika tidak ditentukan, semua sasaran akan ditampilkan. goal
indentSize Jumlah spasi per tingkat indentasi. Harus berupa angka positif. Default-nya adalah 2. indentSize
lineLength Panjang maksimum baris tampilan. Harus berupa angka positif. Default-nya adalah 80. lineLength

appengine:run

Menjalankan server web pengembangan aplikasi App Engine. Saat server berjalan, server terus memeriksa untuk menentukan apakah appengine-web.xml telah berubah. Jika ya, server akan memuat ulang aplikasi. Ini berarti Anda tidak perlu menghentikan dan memulai ulang aplikasi karena perubahan pada appengine-web.xml.

Anda dapat menggunakan parameter berikut, beberapa di antaranya sesuai dengan tanda command line server pengembangan lokal:

Properti Deskripsi Konfigurasi plugin Konfigurasi command line
automaticRestart Mulai ulang instance secara otomatis ketika aplikasi web file (resource atau file class) diubah. Untuk mengonfigurasi Maven agar dapat menempatkan file class yang dikompilasi di direktori aplikasi dari aplikasi web yang benar, Anda harus mengubah setelan Maven outputDirectory:
<build>
  <outputDirectory>
    target/${project.artifactId}-${project.version}/WEB-INF/classes
  </outputDirectory>
  ...
<plugins>
...
devserver.automaticRestart app.devserver.automaticRestart
environment Peta variabel lingkungan yang akan dikirim ke server pengembangan lokal. Contoh:
<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags Argumen tambahan yang akan diteruskan ke perintah java saat meluncurkan instance aplikasi. Dapat ditentukan lebih dari sekali. Contoh:
<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
devserver.jvmFlags app.devserver.jvmFlags
host Nama host yang harus diikat oleh layanan aplikasi. Default-nya adalah localhost. devserver.host app.devserver.host
port Port terendah yang harus diikat oleh layanan aplikasi. Default-nya adalah 8080. devserver.port app.devserver.port
serverVersion Versi server yang akan diluncurkan, opsinya adalah "1" dan "2-alpha". Defaultnya adalah "1". devserver.serverVersion app.devserver.serverVersion
services Wajib. Jalur ke direktori yang berisi direktori yang berisi WEB-INF/web.xml. Default-nya adalah build/exploded-app. devserver.services app.devserver.services

appengine:stage

Menghasilkan direktori build aplikasi untuk deployment.

Anda dapat menggunakan parameter berikut:

Parameter Deskripsi Properti Pengguna
appEngineDirectory Direktori yang berisi app.yaml dan file konfigurasi App Engine lain yang didukung. Default-nya adalah ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact Lokasi arsip JAR atau WAR yang akan di-deploy. Default-nya adalah ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
cloudSdkPath Parameter opsional untuk mengonfigurasi lokasi gcloud CLI. cloudSdkPath
dockerDirectory Direktori yang berisi Dockerfile dan resource Docker lainnya. Default-nya adalah ${basedir}/src/main/docker/${basedir}/src/main/docker/. app.stage.dockerDirectory
stagingDirectory Wajib. Direktori tempat aplikasi dijalankan. Default-nya adalah ${project.build.directory}/appengine-staging app.stage.stagingDirectory

appengine:start

Mulai menjalankan server web pengembangan aplikasi App Engine secara asinkron, lalu kembali ke baris perintah. Saat sasaran ini berjalan, perilakunya sama dengan sasaran run, kecuali bahwa Maven terus memproses sasaran dan keluar setelah server aktif dan berjalan.

Anda dapat menggunakan parameter berikut:

Properti Deskripsi Konfigurasi plugin Konfigurasi command line
environment Peta variabel lingkungan yang akan dikirim ke server pengembangan lokal. Contoh:
<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags Argumen tambahan yang akan diteruskan ke perintah java saat meluncurkan instance aplikasi. Dapat ditentukan lebih dari sekali. Contoh:
<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
devserver.jvmFlags app.devserver.jvmFlags
host Nama host yang harus diikat oleh layanan aplikasi. Default-nya adalah localhost. devserver.host app.devserver.host
port Port terendah yang harus diikat oleh layanan aplikasi. Default-nya adalah 8080. devserver.port app.devserver.port
serverVersion Versi server yang akan diluncurkan, opsinya adalah "1" dan "2-alpha". Defaultnya adalah "1". devserver.serverVersion app.devserver.serverVersion
services Wajib. Jalur ke direktori yang berisi direktori yang berisi WEB-INF/web.xml. Default-nya adalah build/exploded-app. devserver.services app.devserver.services
startSuccessTimeout Jumlah waktu dalam detik untuk menunggu Server Aplikasi Dev dimulai di latar belakang (saat menggunakan appengineStart). devserver.startSuccessTimeout app.devserver.startSuccessTimeout

appengine:stop

Menghentikan server pengembangan web App Engine yang sedang berjalan.

Anda dapat menggunakan parameter berikut:

Parameter Deskripsi Konfigurasi plugin Konfigurasi command line
host Nama host yang harus diikat oleh server admin. Default-nya adalah localhost devserver.adminHost app.devserver.adminHost
port Port yang harus diikat oleh server admin. Default-nya adalah 8000. devserver.adminPort app.devserver.adminPort
cloudSdkHome Parameter opsional untuk mengonfigurasi lokasi gcloud CLI. Jika properti ini tidak ditentukan, plugin akan otomatis mendownload gcloud CLI. cloudSdkHome cloudSdkHome