將 App Engine 外掛程式新增至專案之後,您可以在 App Engine 標準環境中針對應用程式使用下列 App Engine 專屬 Gradle 工作:
工作 | 說明 |
---|---|
tasks |
顯示所安裝工作的說明資訊。 |
appengineCloudSdkLogin |
設定帳戶的通用 gcloud CLI 狀態。 |
appengineDeploy |
將應用程式暫存及部署至 App Engine。 |
appengineDeployAll |
將應用程式及其所有有效的 yaml 設定同時暫存及部署至 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。 |
appengineRun |
這個指令可以執行 App Engine 開發伺服器。當伺服器正在執行時,會持續檢查確認 appengine-web.xml 是否已變更。如已變更,伺服器會重新載入應用程式。您無須因為 appengine-web.xml 有所變更而停止並重新啟動應用程式。 |
appengineStage |
針對部署產生應用程式目錄。 |
appengineStart |
開始非同步執行 App Engine 開發伺服器,然後返回指令列。當這個目標執行時,除了 Gradle 會持續處理工作,並在伺服器啟動並執行後結束以外,所有行為都與執行目標相同。 |
appengineStop |
停止執行中的 App Engine 網路開發伺服器。 |
explodeWar |
將 WAR 檔案打散到建構目錄中。 |
如要查看所有工作的清單:
gradle tasks
如要進一步瞭解如何設定及使用 Gradle,請參閱使用 App Engine Gradle 一文。
工作屬性
gradle.build
檔案的內容是用來說明建構的一組規則,其以 Groovy 語言為基礎,採用網域特定語言編寫來說明建構。
每項工作都有如下您可以使用的關聯屬性。您可以使用設定閉包、工作與屬性,在 gradle.build
檔案中指定這些屬性。
在下列範例中:
- 外掛程式的設定結束函式為
appengine
。 - 工作為
run
。 - 屬性
port
已設為8080
。
如果您只需要指定幾個屬性,可以在一行中設定:
appengine.run.port = 8888
如需適用於每項工作的屬性清單,請參閱以下幾節。
appengineStage
task(stage)
針對部署產生應用程式目錄,appengineStage
會由 appengineDeploy
工作使用。
您可以使用以下屬性:
屬性 | 說明 |
---|---|
compileEncoding |
編譯 JSP 時使用的字元編碼。僅適用於在 App Engine 標準環境中執行的應用程式。 |
deleteJsps |
編譯後刪除 JSP 來源檔案。僅適用於在 App Engine 標準環境中執行的應用程式。 |
disableJarJsps |
停用新增從 JSP 產生的類別。僅適用於在 App Engine 標準環境中執行的應用程式。 |
disableUpdateCheck |
停用檢查 gcloud CLI 更新的功能。 |
enableJarClasses |
將 WEB-INF/classes content 儲存為 JAR 檔案。僅適用於在 App Engine 標準環境中執行的應用程式。 |
useMtimeFileWatcher |
使用 mtime 輪詢作業來偵測原始碼變更。如果使用分散式檔案系統從遠端電腦修改程式碼,則會很實用。 |
enableJarSplitting |
將大於 10 MB 的 JAR 檔案拆分成較小的片段。僅適用於 App Engine 標準環境。 |
enableQuickstart |
使用 Eclipse Jetty 快速入門導覽課程處理 Servlet 註解。僅適用於 App Engine 標準環境。 |
jarSplittingExcludes |
將符合逗號分隔 SUFFIXES 清單的檔案排除在所有 JAR 檔案之外。僅適用於在 App Engine 標準環境中執行的應用程式。 |
sourceDirectory |
這是必要旗標,已編譯的網路應用程式檔案,或爆炸的 WAR 的位置。這會做為暫存來源使用。僅適用於 App Engine 標準環境。預設值為 build/exploded-${gradle-module-name} 。 |
stagingDirectory |
這是必要旗標,用來暫存應用程式的目標目錄。預設值為 build/staged-app 。 |
appengineRun
task(run)
執行 App Engine 開發網路伺服器。當伺服器正在執行時,會持續檢查確認 appengine-web.xml
是否已變更。若已變更,伺服器會重新載入應用程式。這表示您不需要因為 appengine-web.xml
有所變更而停止並重新啟動應用程式。
您可以使用以下屬性,其中一些屬性對應至本機開發伺服器指令列標記:
屬性 | 說明 |
---|---|
environment |
傳送至本機開發伺服器的環境變數對應。示例:[key1: "value1", key2: "value2"]
|
jvmFlags |
啟動應用程式執行個體時傳送到 java 指令的其他引數。可以指定不只一次。示例:
-Xmx1024m -Xms256m
|
host |
應用程式服務應繫結的主機名稱。預設值為 localhost 。 |
port |
應用程式服務應繫結的最低通訊埠。預設值為 8080 。 |
serverVersion |
要啟動的伺服器版本,選項有「1」與「2-alpha」。預設值為「1」。 |
services |
這是必要旗標,所含目錄中包含 WEB-INF/web.xml 之目錄的路徑。預設值為 build/exploded-app 。 |
startSuccessTimeout |
在背景等待開發應用程式伺服器啟動的秒數 (使用 appengineStart 時)。 |
appengineDeploy
task(deploy)
將應用程式暫存及部署至 App Engine。
屬性 | 說明 |
---|---|
appEngineDirectory |
.yaml 設定檔 (cron、inex 等) 的位置,設定的特定部署作業 (appengineDeployCron 等) 將從這個位置部署。若為標準應用程式,您的 .xml 設定檔會在暫存期間轉換為 .yaml ,並放在 build/staged-app/WEB-INF/appengine-generated 中。 |
bucket |
Cloud Storage 值區,用來暫存與部署作業相關聯的檔案。如果未指定這個引數,系統會使用應用程式的預設值區。 |
imageUrl |
使用特定的 Docker 映像檔進行部署。Docker 網址必須來自其中一個有效的 Google Container Registry 主機名稱。 |
projectId |
要用於這個叫用的 Google Cloud Platform 專案 ID。您必須指定 projectId,或者可以將 GCLOUD_CONFIG 設定為使用在 gcloud 設定狀態下設定的專案。 |
promote |
升級部署版本,以接收所有流量。預設值為 True。 |
server |
要連線的 App Engine 伺服器。您通常不需要變更這個值。 |
stopPreviousVersion |
部署接收所有流量的新版本時,停止先前執行的版本。 |
version |
將由此部署建立或取代的應用程式版本。如果您未指定版本,系統會為您產生一個。 |
全域屬性
屬性 | 說明 |
---|---|
tools.cloudSdkHome |
用於設定 gcloud CLI 位置的選用屬性。如未指定此屬性,則外掛程式會自動下載 gcloud CLI。 |
tools.cloudSdkVersion |
用於指定所需 gcloud CLI 版本的選用參數。 |