Gradle 是開放原始碼的建構自動化工具,專注於彈性和效能。App Engine 提供 Gradle 外掛程式,可用於建構應用程式並將其部署到 App Engine。
事前準備
如果您尚未這樣做,請按照指南中的步驟下載 gcloud CLI、建立 Google Cloud 專案,並初始化 App Engine 應用程式。
安裝 gcloud CLI
app-engine-java
元件:gcloud components install app-engine-java
建立新的 Gradle 專案
您可以使用殼層從無到有建立新 Gradle 專案。您也可以試用快掛程式,可以下載、在本機執行,並部署 hello world 專案。
建立新專案:
建立新目錄,並前往該目錄。
初始化新專案:
執行
gradle init
:gradle init --type java-application
系統會要求你回答以下問題:
- 輸入目標 Java 版本 (最低:7,預設:21):21
- 選取應用程式結構:1 為單一應用程式專案
- 選取建構指令碼 DSL:2 (適用於 Groovy)
- 選取測試架構:1 (適用於 JUnit 4)
- 使用新的 API 和行為產生版本:否
建立
WEB-INF
資料夾:mkdir -p app/src/main/webapp/WEB-INF
建立
appengine
資料夾:mkdir -p app/src/main/appengine
移除
gradle init
產生的虛設常式檔案:rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java
將以下內容加到您的
app/build.gradle
檔案中,以新增 App Engine Gradle 工作、Maven 存放區、App Engine Gradle 外掛程式、依附元件與工作設定:您也需要使用文字編輯器或整合式開發環境 (IDE),將下列檔案新增至專案:
如需 Java App Engine 專案的總覽,請參閱「設定開發環境」。
使用開發伺服器測試您的應用程式
如要在本機執行時透過專案存取 Google 資源,請執行以下指令設定應用程式預設憑證:
gcloud auth application-default login
變更至應用程式的根目錄。
在開發階段,您隨時可以叫用 Gradle,在開發伺服器中執行和測試您的應用程式:
gradle jettyRun
您也可以使用 Gradle 包裝函式,在不安裝 Gradle 的情況下執行 Gradle。
等待伺服器啟動。當您看見如下的訊息時,即表示伺服器已啟動,且您的應用程式已開始執行:
:prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO runs at: 17:40:05 INFO http://localhost:8080/
前往
http://localhost:8080
查看應用程式執行情形。
如要進一步瞭解 Gretty 外掛程式,請參閱 Gretty 設定與 Gretty 工作的相關說明。
部署應用程式
如要部署您的應用程式:
gradle appengineDeploy
appengineDeploy
工作與其他所有 Gradle 工作都有您可以使用的關聯屬性。如需完整工作與屬性清單,請參閱 App Engine Gradle 工作與屬性一文。
使用 Gradle 包裝函式
Gradle 提供在不安裝的情況下,下載及執行必要 Gradle 版本的機制:
Linux/macOS
變更至範例程式碼目錄。
執行 gradlew:
./gradlew jettyRun
Windows
變更至範例程式碼目錄。
執行 gradlew:
./gradlew.bat jettyRun
如需 Gradle 的額外資訊,請參閱 App Engine Gradle 工作與屬性一文。
後續步驟
- 前往 GitHub 探索外掛程式程式碼及回報問題。
- 參閱 App Engine Gradle 工作與屬性一文,瞭解如何指定工作的屬性。