使用 Apache Maven 和 App Engine 外掛程式

Apache Maven 是 Java 適用的自動化建構工具。

App Engine 提供 Maven 外掛程式,可用於建構應用程式並將其部署至 App Engine。外掛程式不支援 Enterprise Application Archive (EAR) 專案。

事前準備

  1. 執行下列指令,判斷是否已安裝 Maven,以及安裝的版本為何:

    mvn -v
    

    如果已安裝 Maven,系統會顯示開頭為 Apache Maven 的長串資訊,後面接著 3.9.1 等版本號碼。

  2. 如果您沒有安裝 Maven 3.9.1 以上版本:

    1. 下載 Maven 3.9.1 以上版本。
    2. 安裝 Maven 3.9.1 以上版本。
  3. 如果您尚未這樣做,請按照這裡的步驟下載 gcloud CLI、建立 Google Cloud 專案,並初始化 App Engine 應用程式。

  4. 安裝 gcloud CLI app-engine-java 元件:

    gcloud components install app-engine-java
    

新增 App Engine Maven 外掛程式

如要使用 App Engine Maven 外掛程式,請將下列行新增至專案 pom.xml 檔案的 plugins 區段中:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.8.1</version>
</plugin>

建構及部署應用程式

將 App Engine Maven 外掛程式新增至專案的 pom.xml 檔案之後,您可以使用下列指令建構並部署應用程式:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

PROJECT_ID 替換為您的 Google Cloud 專案 ID。如果 pom.xml 檔案已指定專案 ID,您執行的指令中就不需要加入 -Dapp.deploy.projectId 屬性。

package 目標會建構及封裝應用程式,而 appengine:deploy 目標則會執行下列操作:

  1. 為應用程式新版本產生專屬版本 ID。

  2. 將新版本部署至 App Engine。

  3. 將所有流量轉送至新版本。

變更部署作業預設值

您可以透過在 appengine:deploy 指令中傳遞參數,變更預設的部署行為。舉例來說,下列指令會將 pom.xml 檔案中定義的服務部署至特定 Google Cloud 專案,為服務指派自訂版本 ID,並關閉新版本的自動流量轉送功能:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

您也可以使用 appengine:deploy 指令部署設定檔,例如 cron.yamldispatch.yamlindex.yaml

詳情請參閱 appengine:deploy 參考資料

後續步驟