Gradle は、柔軟性とパフォーマンスに重点を置いたオープンソースのビルド自動化ツールです。App Engine には、アプリをビルドして App Engine にデプロイする際に使用できる Gradle プラグインが用意されています。このコードサンプルは、App Engine Gradle タスク、Maven リポジトリ、App Engine Gradle プラグイン、依存関係を追加するように build.gradle
ファイルを構成する方法を示しています。
始める前に
まだ行っていない場合は、このガイドの手順に沿って 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)を使用して追加してください。
app/src/main/appengine/app.yaml
app/src/main/webapp/WEB-INF/web.xml
(アプリで Servlet 3.1 アノテーションを使用する場合を除く)- app/src/main/docker/Dockerfile(カスタム ランタイムの場合は任意)
- Java クラス
- Java テストクラス
Java App Engine プロジェクトの概要については、開発環境を設定するをご覧ください。
開発用サーバーを使用してアプリケーションをテストする
ローカルでの実行中にプロジェクトから Google リソースにアクセスするには、次のコマンドを実行してアプリケーションのデフォルト認証情報を設定します。
gcloud auth application-default login
アプリケーション ディレクトリのルートに移動します。
開発フェーズでは、アプリケーションをいつでも開発用サーバーで実行およびテストできます。これには、次のコマンドで Gradle を起動します。
gradle jettyRun
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 のタスクとプロパティで確認します。