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 開発用サーバーの実行を非同期で開始して、コマンドラインに戻ります。このゴールが実行された場合の動作は run ゴールとほぼ同じですが、Gradle がタスクの処理を続けてサーバーが稼働中になると終了する点が異なります。 | 
| appengineStop | 実行中の App Engine 開発用ウェブサーバーを停止します。 | 
| explodeWar | WAR ファイルを展開してビルド ディレクトリに出力します。 | 
すべてのタスクのリストを表示するには、次のコマンドを実行します。
gradle tasks
Gradle のセットアップと使用方法の詳細については、App Engine Gradle の使用をご覧ください。
タスク プロパティ
gradle.build ファイルの内容は、ビルドを記述するための一連のルールです。これは Groovy 言語に基づき、ビルドを記述するためドメイン固有の言語で書かれます。
各タスクには使用可能な下記のプロパティが関連付けられています。これらのプロパティは、構成用クロージャ、タスク、プロパティを使用して、gradle.build ファイルで指定できます。
下記の例で、
- プラグインの構成用クロージャは appengineです。
- タスクは runです。
- portプロパティは- 8080に設定されています。
指定するプロパティが少ない場合には、次のように 1 行で設定できます。
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 クイックスタートを使用してサーブレット アノテーションを処理します。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、index など)の場所。ここから構成固有のデプロイ(appengineDeployCron など)が行われます。標準アプリケーションの場合は、.xml構成ファイルがステージング中に.yamlに変換されてbuild/staged-app/WEB-INF/appengine-generatedに配置されます。 | 
| bucket | デプロイに関連付けられたファイルのステージングで使われる Google Cloud Storage バケット。この引数を指定しない場合、アプリケーションのデフォルト バケットが使用されます。 | 
| imageUrl | 特定の Docker イメージを使用してデプロイします。Docker URL は、いずれかの有効な Google Container Registry ホスト名でなければなりません。 | 
| projectId | この呼び出しに使用する Google Cloud Platform プロジェクト ID。projectId を指定する必要があります。 GCLOUD_CONFIGを設定して、gcloud config 状態に設定されたプロジェクトを使用することもできます。 | 
| promote | すべてのトラフィックを受信するように、デプロイ済みバージョンを昇格させます。デフォルトは True です。 | 
| server | 接続先の App Engine サーバー。通常、この値を変更する必要はありません。 | 
| stopPreviousVersion | すべてのトラフィックを受信する新しいバージョンをデプロイするときに、現在実行中のバージョンを停止します。 | 
| version | このデプロイで作成または置換されるアプリのバージョン。バージョンを指定しない場合は自動生成されます。 | 
グローバル プロパティ
| プロパティ | 説明 | 
|---|---|
| tools.cloudSdkHome | gcloud CLI の場所を構成するオプションのプロパティ。このプロパティを指定しなかった場合、プラグインは自動的に gcloud CLI をダウンロードします。 | 
| tools.cloudSdkVersion | 目的の gcloud CLI のバージョンを指定するオプションのパラメータ。 |