App Engine Gradle 外掛程式工作與屬性

將 App Engine Gradle 外掛程式新增至專案之後,您可以使用下列 App Engine 專屬 Gradle 工作:

工作 說明
tasks 顯示所安裝工作的說明資訊。
appengineStage 針對部署產生應用程式目錄。
appengineDeploy 將應用程式暫存及部署至 App Engine。
appengineDeployCron cron.yaml 設定檔部署至 App Engine。
appengineDeployDispatch dispatch.yaml 設定檔部署至 App Engine。
appengineDeployDos dos.yaml 設定檔部署至 App Engine。
appengineDeployIndex index.yaml 設定檔部署至 App Engine。
appengineDeployQueue queue.yaml 設定檔部署至 App Engine。
jettyRun 使用 Jetty 的預設設定執行開發伺服器。如要進一步瞭解 Gretty 外掛程式,請參閱 Gretty 設定Gretty 工作的相關說明。

如要查看所有工作的清單:

gradle tasks

如要進一步瞭解如何設定及使用 Gradle,請參閱「使用 App Engine Gradle」一文,以及 GitHub 上的 app-gradle-plugin 存放區。

工作屬性

gradle.build 檔案的內容是用來說明建構的一組規則,其以 Groovy 語言為基礎,採用網域專屬語言編寫來說明建構。

每項工作都有如下您可以使用的關聯屬性。您可以使用設定閉包、工作和屬性,在 gradle.build 檔案中指定這些屬性。

在這個例子中:

  • 外掛程式的設定結束函式為 appengine
  • 工作為 deploy
  • 屬性 stopPreviousVersionpromote 已設為 true
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
如果您只需要指定幾個屬性,可以在一行中設定:

  appengine.deploy.stopPreviousVersion = true

如需適用於每項工作的屬性清單,請參閱以下章節。

appengineStage

task(stage)

針對部署產生應用程式目錄,由 appengineDeploy 工作和 jettyRun 工作使用。

您可以使用以下屬性:

屬性 說明
artifact 包含所有類別、資源和資訊清單的已建構成果物。預設值為 build/libs/[YOUR_SERVLET].war
appEngineDirectory app.yaml 檔案的位置。預設值為 src/main/appengine
dockerDirectory Dockerfile 的位置。預設值為 src/main/docker
stagingDirectory 這是必要旗標,用來暫存應用程式的目標目錄。預設值為 build/staged-app

appengineDeploy

task(deploy)

將應用程式暫存及部署至 App Engine。

每項工作都有如下您可以使用的關聯屬性。您可以使用設定閉包、工作和屬性,在 gradle.build 檔案中指定這些屬性。

在下列範例中:

  • 外掛程式的設定結束函式為 appengine
  • 工作為 run
  • 屬性 port 已設為 8080
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

如果您只需要指定幾個屬性,可以在一行中設定:

  appengine.run.port = 8888
屬性 說明
appEngineDirectory .yaml 設定檔 (cron、inex 等) 的位置,設定的特定部署作業 (appengineDeployCron 等) 將從這個位置部署。對於彈性應用程式,預設值為 src/main/appengine
bucket Cloud Storage 值區,用來暫存與部署作業相關聯的檔案。如果未指定這個引數,系統會使用應用程式的預設值區。
deployables 您要部署之服務或設定的 YAML 檔案。預設為暫存目錄中的 app.yaml 檔案。如果找不到這個檔案,會嘗試在暫存目錄中自動產生必要的設定檔 (例如 app.yaml)。
imageUrl 使用特定的 Docker 映像檔進行部署。Docker 網址必須來自其中一個有效的 Artifact Registry 主機名稱。
project 要用於這個叫用的 Google Cloud Platform 專案名稱。預設為初始化 gcloud 工具時選取的目前專案。如要驗證,請使用 gcloud config list project
promote 升級部署版本,以接收所有流量。預設值為 True。
server 要連線的 App Engine 伺服器。您通常不需要變更這個值。
stopPreviousVersion 部署接收所有流量的新版本時,停止先前執行的版本。
version 將由此部署建立或取代的應用程式版本。如果您未指定版本,系統會為您產生一個。

全域屬性

屬性說明
tools.cloudSdkHome 用於設定 Google Cloud CLI 位置的選用屬性。一般來說,如果您是利用 gcloud components install app-engine-java 安裝外掛程式,外掛程式會在 gcloud CLI 中找到這項屬性。