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

App Engine プラグインをプロジェクトに追加した後で、App Engine スタンダード環境のアプリケーションで以下の 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 にデプロイします。
appengineRun App Engine 開発用サーバーを実行します。サーバーの実行中は、appengine-web.xml が変更されていないかどうか継続的に確認されます。変更されると、サーバーがアプリケーションを再度読み込みます。appengine-web.xml が変更されても、アプリケーションを停止して再起動する必要はありません。
appengineStart App Engine 開発用サーバーを非同期で開始し、コマンドラインに戻ります。Gradle がタスクの処理を継続し、サーバーの起動後に終了する点を除き、run の動作と同じになります。
appengineStop 実行中の App Engine 開発用ウェブサーバーを停止します。
explodeWar WAR ファイルを展開してビルド ディレクトリに出力します。

すべてのタスクのリストを表示するには、次のコマンドを実行します。

gradle tasks

Gradle のセットアップと使用方法の詳細については、App Engine Gradle の使用をご覧ください。

タスク プロパティ

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

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

下記の例で、

  • プラグインの構成用クロージャは appengine です。
  • タスクは run です。
  • プロパティ port8080 に設定されています。
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

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

appengineStage

task(stage)

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

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

プロパティ説明
compileEncoding JSP のコンパイルに使用する文字エンコード。App Engine スタンダード環境で実行されるアプリケーションにのみ適用されます。
deleteJsps コンパイル後に JSP ソースファイルを削除します。App Engine スタンダード環境で実行されるアプリケーションにのみ適用されます。
disableJarJsps JSP から生成されたクラスの追加を無効にします。App Engine スタンダード環境で実行されるアプリケーションにのみ適用されます。
disableUpdateCheck Cloud SDK の更新確認を無効にします。
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 が変更されても、アプリケーションを停止して再起動する必要はありません。

使用できるプロパティは次のとおりです。一部のプロパティは、ローカルの開発用サーバーのコマンドライン フラグと同じです。

開発用ウェブサーバーのバージョンは、v1(デフォルト)と v2-alpha の 2 つがあります。

次に示すプロパティは、v1 に対して有効です。

プロパティ 説明
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 を使用するとき)。

次に示すプロパティは、v2-alpha に対して有効です。

プロパティ 説明
adminHost 管理サーバーをバインドするホスト名。デフォルトは localhost です。
adminPort 管理サーバーをバインドするポート。デフォルトは 8000 です。
allowSkippedFiles app.yaml skip_files または static ハンドルに指定したファイルをアプリケーションで読み取り可能にします。デフォルトは False です。
apiPort API 呼び出し用のサーバーをバインドするポート。デフォルトは 0 です。
appYamls サポート終了のため、今後は services をお使いください。 必須。yaml ファイル、yaml ファイルがあるディレクトリまたは WEB-INF/web.xml があるディレクトリのパス。デフォルトは build/exploded-app です。
authDomain 使用する承認ドメインの名前。
automaticRestart サービスに関連するファイルが変更されたときに、インスタンスを自動的に再起動します。デフォルトは True です。
clearDatastore アプリケーションのローカル データストアを起動時にクリアします。 clearDatastore
customEntrypoint フレキシブル環境のカスタム ランタイムの場合は、カスタム ランタイム サービスのエントリポイントを指定します。このようなサービスが存在する場合、このパラメータは必須です。文字列に [PORT] を追加して、ポート番号を引数として渡します。例: gunicorn -b localhost:[PORT] mymodule:application
datastorePath データストアの内容を保存するファイルへのパス(設定されていない場合のデフォルトは storagePath 内のファイルとなります)。
defaultGcsBucketName デフォルトの Google Cloud Storage バケット名。
devAppserverLogLevel 開発用ウェブサーバーで生成されたロギング メッセージをコンソールに表示する最低のログレベル(このフラグは、アプリケーション コードの問題よりも dev_appserver の問題を診断するのに役立ちます)。オプションは、debuginfowarningcriticalerror です。
host アプリケーション サービスをバインドするホスト名。デフォルトは localhost です。
jvmFlags アプリのインスタンスを起動する際に java コマンドに渡す追加の引数。複数回指定できます。例: -Xmx1024m -Xms256m
logLevel アプリケーション コードで生成されたロギング メッセージをコンソールに表示する最低のログレベル。オプションは、debuginfowarningcriticalerror です。
maxModuleInstances 特定のサービス用に開始可能なランタイム インスタンスの最大数。整数の値を指定すると、すべてのサービスがそのインスタンス数に制限されます。また、モジュール max_instances のカンマ区切りリストを指定することもできます。例: default:5,backend:3
port アプリケーション サービスをバインドする最低位のポート。デフォルトは 8080 です。
pythonStartupArgs devserver.pythonStartupScript に指定したスクリプトで利用可能にする引数。
pythonStartupScript 新しい Python ランタイム インスタンスの起動時に実行するスクリプト(デバッガなどのツールで便利です)。
runtime 使用するデフォルト ランタイムを指定します。有効なランタイムは javacustomjava7 です。
serverVersion 起動するサーバーのバージョン。オプションは "1" と "2-alpha" です。デフォルトは "1" です。
services 必須。WEB-INF/web.xml が存在するディレクトリへのパス。デフォルトは build/exploded-app です。
skipSdkUpdateCheck SDK の更新を確認しません。false の場合は、.appcfg_nag を使用します。デフォルトは False です。
startSuccessTimeout 開発用アプリサーバーをバックグラウンドで起動する前に待機する時間の長さ(秒)(appengineStart を使用するとき)。
storagePath アプリケーションに関連付けられたデータ(datastore や blobstore など)のパス。
threadsafeOverride アプリケーションの threadsafe 構成を上書きします。値をブール値にすると、すべてのサービスの threadsafe 設定が上書きされますが、service:threadsafe_override のカンマ区切りリストにすることもできます。例: default:False,backend:True
useMtimeFileWatcher ソースコードの変更を検出するために mtime ポーリングを使用します。分散ファイル システムを使用してリモートマシンからコードを変更する場合に便利です。

appengineDeploy

task(deploy)

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

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

グローバル プロパティ

プロパティ説明
tools.cloudSdkHome 省略可能なプロパティ。Google Cloud SDK の場所を構成します。通常は、gcloud components install app-engine-java でインストールされるときに、プラグインが Cloud SDK 内でこれを検索します。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境