App Engine Gradle プラグインのタスクとプロパティ

App Engine Gradle プラグインをプロジェクトに追加した後、次に示す App Engine 固有の Gradle タスクを使用できます。

タスク 説明
tasks インストールされているタスクのヘルプ情報を表示します。
appengineStage デプロイ用のアプリケーション ディレクトリを生成します。
appengineDeploy アプリケーションをステージングし、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 にデプロイします。
jettyRun Jetty のデフォルト構成を使用して開発用サーバーを実行します。Gretty プラグインの詳細については、Gretty の構成Gretty のタスクをご覧ください。

すべてのタスクの一覧を表示するには:

gradle tasks

Gradle の設定と使用方法の詳細については、App Engine Gradle を使用すると、GitHub の app-gradle-plugin リポジトリをご覧ください。

タスク プロパティ

gradle.build ファイルの内容は、ビルドを記述するための一連のルールです。これは Groovy 言語に基づき、ビルドを記述するためドメイン固有の言語で書かれます。

各タスクには使用可能な下記のプロパティが関連付けられています。これらのプロパティは、構成用クロージャ、タスク、プロパティを使用して、gradle.build ファイルで指定できます。

この例では、次のようになります。

  • プラグインの構成用クロージャは appengine です。
  • タスクは deploy です。
  • プロパティ、stopPreviousVersion、および promotetrue に設定されます。
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
指定するプロパティが少ない場合には、次のように 1 行で設定できます。

  appengine.deploy.stopPreviousVersion = true

各タスクで使用できるプロパティについては、下記の各セクションをご覧ください。

appengineStage

task(stage)

デプロイ用のアプリケーション ディレクトリを生成します。appengineDeploy タスクと jettyRun タスクで使用されます。

次のプロパティを使用できます。

プロパティ 説明
artifact すべてのクラス、リソース、マニフェストを保持するビルド済みアーティファクト。 デフォルトは build/libs/[YOUR_SERVLET].war です。
appEngineDirectory app.yaml ファイルの場所。デフォルトは src/main/appengine です。
dockerDirectory Dockerfile の場所。デフォルトは src/main/docker です。
stagingDirectory 必須。アプリケーションのステージング先のディレクトリ。デフォルトは、build/staged-app です。

appengineDeploy

task(deploy)

アプリケーションをステージングし、App Engine にデプロイします。

各タスクには使用可能な下記のプロパティが関連付けられています。これらのプロパティは、構成用クロージャ、タスク、プロパティを使用して、gradle.build ファイルで指定できます。

下記の例で、

  • プラグインの構成用クロージャは appengine です。
  • タスクは run です。
  • port プロパティは 8080 に設定されています。
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

指定するプロパティが少ない場合には、次のように 1 行で設定できます。

  appengine.run.port = 8888
プロパティ 説明
appEngineDirectory .yaml 構成ファイル(cron、index など)の場所。ここから構成固有のデプロイ(appengineDeployCron など)が行われます。フレキシブル アプリケーションの場合、デフォルトで src/main/appengine に設定されています。
bucket デプロイに関連付けられたファイルのステージングで使用される Cloud Storage バケット。この引数を指定しない場合、アプリケーションのデフォルト バケットが使用されます。
deployables デプロイするサービスまたは構成に関する YAML ファイル。デフォルトは、ステージング ディレクトリ内の app.yaml ファイルです。これが見つからない場合、ステージング ディレクトリ内で必要な構成ファイル(app.yaml など)を自動生成しようと試みます。
imageUrl 特定の Docker イメージを使用してデプロイします。Docker URL は、いずれかの有効な Google Container Registry ホスト名でなければなりません。
project この呼び出しに使用する Google Cloud Platform プロジェクト名。デフォルトは、gcloud ツールの初期設定で選択した現在のプロジェクトです。確認するには、gcloud config list project を使用します。
promote すべてのトラフィックを受信するように、デプロイ済みバージョンを昇格させます。デフォルトは True です。
server 接続先の App Engine サーバー。通常、この値を変更する必要はありません。
stopPreviousVersion すべてのトラフィックを受信する新しいバージョンをデプロイするときに、現在実行中のバージョンを停止します。
version このデプロイで作成または置換されるアプリのバージョン。バージョンを指定しない場合は自動生成されます。

グローバル プロパティ

プロパティ説明
tools.cloudSdkHome Google Cloud CLI の場所を構成するオプションのプロパティ。通常、プラグインは、gcloud components install app-engine-java でインストールされるときに、gcloud CLI でこれを検出します。