您可以使用 Gradle,這是一款彈性建構自動化系統,具有宣告式特性,並且可用來自動建構、測試、發佈及部署。本頁面說明如何在標準環境中搭配使用 Gradle 與 App Engine 專案。
事前準備
安裝及設定下列必要元件:
設定及驗證 Google Cloud 專案
您需要設定 Google Cloud 專案並安裝 gcloud CLI:
使用 Google Cloud 控制台建立並設定 Google Cloud 專案:
- 選取或建立新的 Google Cloud 專案。
- 按照提示確認 App Engine 應用程式是否存在,並啟用計費功能:
- 如果您需要為專案建立 App Engine 應用程式,系統會提示您選取要將 App Engine 應用程式設置在哪個地區。
- 按照提示建立新的帳單帳戶,或選取現有帳戶。
- 在專案中建立 App Engine 應用程式並啟用計費功能後,系統會開啟「資訊主頁」。
您不需要安裝 gcloud CLI,因為外掛程式會在必要時自動安裝 SDK。
建立新 Gradle 專案
您可以使用殼層從無到有建立新 Gradle 專案。您也可以試用快掛程式,可以下載、在本機執行,並部署 hello world 專案。
建立並輸入新目錄。
初始化新專案:
gradle init --type java-library; mkdir -p src/main/webapp/WEB-INF; rm src/main/java/Library.java src/test/java/LibraryTest.java
將以下內容加到
build.gradle
檔案中,以新增 App Engine Gradle 工作、Maven 存放區、App Engine Gradle 外掛程式、依附元件與工作設定:您還需要使用文字編輯器或整合式開發環境 (IDE),將下列檔案新增至專案:
如需 Java App Engine 專案的總覽,請參閱「設定檔」。
下載 Hello World 應用程式
將 Hello World 範例應用程式存放區複製到本機電腦:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
您也可以下載 zip 格式的範例,然後解壓縮該檔案。
變更為包含範例程式碼的目錄:
cd java-docs-samples/appengine-java8/helloworld
使用開發伺服器測試您的應用程式
如要在本機執行時透過專案存取 Google 資源,請執行以下指令設定應用程式預設憑證:
gcloud auth application-default login
變更至應用程式的根目錄。
在開發階段,您隨時可以叫用 Gradle,在開發伺服器中執行和測試您的應用程式:
gradle appengineRun
您也可以使用 Gradle 包裝函式,在不安裝 Gradle 的情況下執行 Gradle。
等待伺服器啟動。當您看見如下的訊息時,即表示伺服器已啟動,且您的應用程式已開始執行:
: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
查看應用程式是否在
http://127.0.0.1:8080
上執行。
在開發伺服器上偵錯
如要對在本機上執行的應用程式進行偵錯,請設定 jvmFlags
屬性,以在基礎 JVM 上啟用偵錯功能,例如:
appengine {
run {
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005']
}
}
啟用應用程式的熱重載
「熱重載」可以更新目前執行中應用程式中的一或多個類別,而不用停止環境。如要啟用熱重載:
您必須讓本機伺服器掃描變更:
appengine { run { automaticRestart = true } }
在應用程式執行時,執行
explodeWar
工作來將變更直接複製到爆炸的應用程式,並將變更傳播至執行中的應用程式。
部署應用程式
如要部署您的應用程式:
gradle appengineDeploy
appengineDeploy
工作與其他所有 Gradle 工作都有您可以使用的關聯屬性。如需完整工作與屬性清單,請參閱 App Engine Gradle 工作與屬性一文。
使用 Gradle 包裝函式
Gradle 提供在不安裝的情況下,下載及執行必要 Gradle 版本的機制:
Linux/macOS
./gradlew appengineRun
視窗
gradlew.bat appengineRun
如需 Gradle 的額外資訊,請參閱 App Engine Gradle 工作與屬性一文。
後續步驟
- 前往 GitHub 探索外掛程式程式碼及回報問題。
- 參閱 App Engine Gradle 工作與屬性一文,瞭解如何指定工作的屬性。