App Engine Maven プラグイン(Cloud SDK ベース)のゴールとパラメータ

プロジェクトに Cloud SDK ベースの App Engine Maven プラグインを追加すると、次の App Engine 固有の Maven のゴールを使用できます。

目標 説明
appengine:deploy アプリケーションをステージングし、App Engine にデプロイします。
appengine:deployCron cron.yaml 設定ファイルをステージングし、App Engine にデプロイします。
appengine:deployDispatch dispatch.yaml 設定ファイルをステージングし、App Engine にデプロイします。
appengine:deployDos dos.yaml 設定ファイルをステージングし、App Engine にデプロイします。
appengine:deployIndex index.yaml 設定ファイルをステージングし、App Engine にデプロイします。
appengine:deployQueue queue.yaml 設定ファイルをステージングし、App Engine にデプロイします。
appengine:help App Engine Maven プラグインに関するヘルプ情報を表示します。
appengine:run App Engine 開発用サーバーを実行します。サーバーの実行中は、appengine-web.xml が変更されていないかどうか継続的に確認されます。変更されると、サーバーがアプリケーションを再度読み込みます。appengine-web.xml が変更されても、アプリケーションを停止して再起動する必要はありません。
appengine:stage デプロイ用のアプリケーション ディレクトリを生成します。
appengine:start App Engine 開発用サーバーを非同期で実行開始してから、コマンドラインに戻ります。このゴールが実行された場合の動作は、Maven がゴールの処理を続け、サーバーが起動して動作するようになった後で終了することのほかは、run ゴールと同じです。
appengine:stop 実行中の App Engine 開発用ウェブサーバーを停止します。

Maven の設定と使用方法について詳しくは、Maven の使用をご覧ください。

App Engine SDK for Java をベースにした Maven プラグイン バージョンを使用している場合は、旧バージョンのプラグイン ゴールと gcloud コマンドのマッピングを関連リファレンス ドキュメントで確認できます。

ゴール パラメータ

各ゴールには、使用できるパラメータが関連付けられています。それらの設定は pom.xml またはコマンドラインで指定できます。

pom.xml で設定を構成する場合は、<configuration> セクションにパラメータ名を追加します。

次の例では、JAR ファイルを分割し、実行中の旧バージョンを停止し、Cloud SDK パスを指定します。

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.0.0</version>
     <configuration>
       <stage.enableJarSplitting>true</stage.enableJarSplitting>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkPath>/usr/foo/path/to/cloudsdk</cloudSdkPath>
     </configuration>
  </plugin>
</plugins>

別の方法として、コマンドラインで設定を構成する場合は、-D[USER_PROPERTY]=[PARAMETER_VALUE] の形式で行います。

次の例では、アプリケーションをステージングする宛先のディレクトリを指定します。

mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]

各ゴールに使用可能なパラメータのリストについては、以下のセクションをご覧ください。

appengine:deploy

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

以下のパラメータを使用できます。そのうちのいくつかは、gcloud app deploy コマンドライン フラグに対応しています。

パラメータ 説明 プラグイン構成 コマンドライン構成
appEngineDirectory .yaml 構成ファイル(cron、index など)の場所。ここから構成固有のデプロイ(appengineDeployCron など)が行われます。標準アプリケーションの場合は、.xml 設定ファイルがステージング時に .yaml に変換されて target/appengine-staging/WEB-INF/appengine-generated に配置されます。 deploy.appEngineDirectory app.deploy.appEngineDirectory
bucket デプロイに関連付けられたファイルのステージングで使われる Google Cloud Storage バケット。この引数が指定されていない場合は、アプリケーションのデフォルトのバケットが使用されます。 deploy.bucket app.deploy.bucket
cloudSdkPath Google Cloud SDK の場所を設定する任意指定のパラメータ。 cloudSdkPath cloudSdkPath
compileEncoding JSP のコンパイルに使用する文字エンコード。App Engine スタンダード環境でのみ使用できます。 stage.compileEncoding app.stage.compileEncoding
deleteJsps コンパイル後に JSP ソースファイルを削除します。App Engine スタンダード環境でのみ使用できます。 stage.deleteJsps app.stage.deleteJsps
deployables デプロイするサービスまたは設定の YAML ファイル。デフォルトはステージング ディレクトリにある app.yaml ファイルです。このファイルが見つからない場合は、ステージング ディレクトリで必要な設定ファイル(app.yaml など)の自動生成が試行されます。 deploy.deployables app.deploy.deployables
disableJarJsps JSP から生成されたクラスの追加を無効にします。App Engine スタンダード環境でのみ使用できます。 stage.disableJarJsps app.stage.disableJarJsps
dockerBuild ホストされている(remote)またはローカルの(local)Docker ビルドを実行します。ローカルビルドを実行するには、ローカル Docker 環境が正しく設定されている必要があります。デフォルトはホストされているビルドです。 deploy.dockerBuild app.deploy.dockerBuild
dockerfile フレキシブル環境で実行する App Engine スタンダード アプリケーション用に使用する Dockerfile の場所。App Engine スタンダード環境でのみ使用できます。 stage.dockerfile app.stage.dockerfile
enableJarClasses WEB-INF/classes コンテンツを jar 圧縮します。App Engine スタンダード環境でのみ使用できます。 stage.enableJarClasses app.stage.enableJarClasses
enableJarSplitting 10 MB より大きい JAR ファイルをより小さいフラグメントに分割します。App Engine スタンダード環境にのみ適用されます。 stage.enableJarSplitting app.stage.enableJarSplitting
enableQuickstart Jetty クイックスタートを使用してサーブレット アノテーションを処理します。App Engine スタンダード環境でのみ使用できます。 stage.enableQuickstart app.stage.enableQuickstart
force 処理中の旧バージョン デプロイを本バージョンでオーバーライドして、強制的にデプロイします。 deploy.force app.deploy.force
imageUrl 特定の Docker イメージを使用してデプロイします。Docker URL はいずれかの有効な Google Container Registry ホスト名である必要があります。 deploy.imageUrl app.deploy.imageUrl
jarSplittingExcludes カンマで区切った SUFFIXES のリストと一致するファイルをすべての JAR ファイルから除外します。App Engine スタンダード環境でのみ使用できます。 stage.jarSplittingExcludes app.stage.jarSplittingExcludes
project この呼び出しに使用する Google Cloud Platform プロジェクト名。デフォルトは、gcloud を初期化する際に選択した現在のプロジェクトです。 deploy.project app.deploy.project
promote すべてのトラフィックを受信するように、デプロイ済みバージョンを昇格させます。デフォルトは True です。 deploy.promote app.deploy.promote
server 接続先の App Engine サーバー。通常、この値を変更する必要はありません。 deploy.server app.deploy.server
sourceDirectory 必須。コンパイルしたウェブ アプリケーション ファイルまたは分割した WAR の場所。これはステージングのソースとして使用されます。App Engine スタンダード環境でのみ使用できます。デフォルトは ${project.build.directory}/${project.build.finalName} です。 stage.sourceDirectory app.stage.sourceDirectory
stagingDirectory 必須です。ステージングしたアプリケーションを配置するディレクトリ。デフォルトは ${project.build.directory}/appengine-staging です。 stage.stagingDirectory app.stage.stagingDirectory
stopPreviousVersion すべてのトラフィックを受信する新しいバージョンをデプロイする際に、直前に実行中のバージョンを停止します。 deploy.stopPreviousVersion app.deploy.stopPreviousVersion
version このデプロイによって作成または置換されるアプリのバージョン。バージョンを指定しない場合は生成されます。 deploy.version app.deploy.version

appengine:help

App Engine Maven プラグインに関するヘルプ情報を表示します。

パラメータの詳細を表示するには、以下を呼び出します。

mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]

以下のパラメータを使用できます。

パラメータ 説明 ユーザー プロパティ
detail true の場合、各ゴールで設定可能なすべてのプロパティを表示します。デフォルトは False です。 detail
goal ヘルプを表示するゴールの名前。指定しない場合は、すべてのゴールが表示されます。 goal
indentSize インデント レベルあたりのスペースの数。正の数でなければなりません。デフォルトは 2 です。 indentSize
lineLength 表示行の最大長。正の数でなければなりません。デフォルトは 80 です。 lineLength

appengine:run

App Engine 開発用ウェブサーバーを実行します。実行中、サーバーは appengine-web.xml が変更されたかどうかを継続的に確認します。変更されると、サーバーはアプリケーションを再読み込みします。したがって、appengine-web.xml が変更されても、アプリケーションを停止して再起動する必要はありません。

以下のパラメータを使用できます。そのうちのいくつかは、ローカル開発用サーバー コマンドライン フラグに対応します。

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

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

プロパティ 説明 プラグイン構成 コマンドライン構成
environment ローカル開発用サーバーに送信するための、環境変数のマップ。例:

<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags アプリのインスタンスを起動する際に java コマンドに渡す追加の引数。複数回指定できます。例: -Xmx1024m -Xms256m devserver.jvmFlags app.devserver.jvmFlags
host アプリケーション サービスをバインドするホスト名。デフォルトは localhost です。 devserver.host app.devserver.host
port アプリケーション サービスをバインドする最低位のポート。デフォルトは 8080 です。 devserver.port app.devserver.port
serverVersion 起動するサーバーのバージョン。オプションは "1" と "2-alpha" です。デフォルトは "1" です。 devserver.serverVersion app.devserver.serverVersion
services 必須。WEB-INF/web.xml が存在するディレクトリへのパス。デフォルトは build/exploded-app です。 devserver.services app.devserver.services
startSuccessTimeout 開発アプリサーバーをバックグラウンドで起動する前に待機する時間の長さ(秒)(appengineStart を使用するとき)。 devserver.startSuccessTimeout app.devserver.startSuccessTimeout

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

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

appengine:stage

デプロイ用のアプリケーション ディレクトリを生成します。

以下のパラメータを使用できます。

パラメータ 説明 プラグイン構成 コマンドライン構成
cloudSdkPath Google Cloud SDK の場所を構成する任意指定のパラメータ。 cloudSdkPath cloudSdkPath
compileEncoding JSP のコンパイルに使用する文字エンコード。App Engine スタンダード環境でのみ使用できます。 stage.compileEncoding app.stage.compileEncoding
deleteJsps コンパイル後に JSP ソースファイルを削除します。App Engine スタンダード環境でのみ使用できます。 stage.deleteJsps app.stage.deleteJsps
dockerfile フレキシブル環境で実行する App Engine スタンダード アプリケーション用に使用する Dockerfile の場所。App Engine スタンダード環境でのみ使用できます。 stage.dockerfile app.stage.dockerfile
enableJarClasses WEB-INF/classes コンテンツを jar 圧縮します。App Engine スタンダード環境でのみ使用できます。 stage.enableJarClasses app.stage.enableJarClasses
enableJarSplitting 10 MB より大きい JAR ファイルをより小さいフラグメントに分割します。App Engine スタンダード環境にのみ適用されます。 stage.enableJarSplitting app.stage.enableJarSplitting
enableQuickstart Jetty クイックスタートを使用してサーブレット アノテーションを処理します。App Engine スタンダード環境にのみ適用されます。 stage.enableQuickstart app.stage.enableQuickstart
jarSplittingExcludes カンマで区切った SUFFIXES のリストと一致するファイルをすべての JAR ファイルから除外します。App Engine スタンダード環境でのみ使用できます。 stage.jarSplittingExcludes app.stage.jarSplittingExcludes
sourceDirectory 必須。コンパイルしたウェブ アプリケーション ファイルまたは分割した WAR の場所。これはステージングのソースとして使用されます。App Engine スタンダード環境でのみ使用できます。デフォルトは ${project.build.directory}/${project.build.finalName} です。 stage.sourceDirectory app.stage.sourceDirectory
stagingDirectory 必須です。アプリケーションのステージング元のディレクトリ。デフォルトは ${project.build.directory}/appengine-staging です。 stage.stagingDirectory app.stage.stagingDirectory

appengine:start

App Engine 開発用ウェブサーバーを非同期で実行開始してから、コマンドラインに戻ります。このゴールが実行された場合の動作は、Maven がゴールの処理を続け、サーバーが起動して動作するようになった後で終了することのほかは、run ゴールと同じです。

以下のパラメータを使用できます。

パラメータ 説明 プラグイン構成 コマンドライン構成
adminHost 管理サーバーをバインドするホスト名。デフォルトは localhost です。 devserver.adminHost app.devserver.adminHost
adminPort 管理サーバーをバインドするポート。デフォルトは 8000 です。 devserver.adminPort app.devserver.adminPort
allowSkippedFiles app.yaml skip_files または static ハンドルに指定したファイルをアプリケーションで読み取り可能にします。デフォルトは False です。 devserver.allowSkippedFiles app.devserver.allowSkippedFiles
apiPort API 呼び出し用のサーバーをバインドするポート。デフォルトは 0 です。 devserver.apiPort app.devserver.apiPort
appYamls 必須。yaml ファイル、yaml ファイルがあるディレクトリ、または WEB-INF/web.xml があるディレクトリのパス。デフォルトは ${project.build.directory}/ ${project.build.finalName} です。 devserver.appYamls app.devserver.appYamls
authDomain 使用する承認ドメインの名前。デフォルトは gmail.com です。 devserver.authDomain app.devserver.authDomain
automaticRestart インスタンスのサービスに関わるファイルが変更されたときに、インスタンスを自動で再起動します。デフォルトは True です。 devserver.automaticRestart app.devserver.automaticRestart
cloudSdkPath Google Cloud SDK の場所を設定する任意指定のパラメータ。 cloudSdkPath cloudSdkPath
customEntrypoint フレキシブル環境のカスタム ランタイムの場合は、カスタム ランタイム サービスのエントリポイントを指定します。このようなサービスがある場合には、このパラメータが必須です。文字列に [PORT] を組み込んで、ポート番号を引数として渡します。たとえば、gunicorn -b localhost:[PORT] mymodule:application のようにします。 devserver.customEntrypoint app.devserver.customEntrypoint
defaultGcsBucketName デフォルトの Google Cloud Storage バケット名。 devserver.defaultGcsBucketName app.devserver.defaultGcsBucketName
devAppserverLogLevel 開発用サーバーによって生成されたロギング メッセージがコンソールに表示される最低のログレベル(このフラグは、アプリケーション コード内の問題よりも dev_appserver.py 内の問題を診断するのに役立ちます)。オプションは debug、info、warning、critical、error です。デフォルトは info です。 devserver.devAppserverLogLevel app.devserver.devAppserverLogLevel
host アプリケーション サービスをバインドするホスト名。デフォルトは localhost です。 devserver.host app.devserver.host
jvmFlags アプリのインスタンスを起動する際に java コマンドに渡す追加の引数。複数回指定できます。例: -Dapp.devserver.jvmFlags=-Xmx1024m -Xms256m devserver.jvmFlags app.devserver.jvmFlags
logLevel アプリケーション コードによって生成されたロギング メッセージがコンソールに表示される最低のログレベル。オプションは debug、info、warning、critical、error です。デフォルトは info です。 devserver.logLevel app.devserver.logLevel
maxModuleInstances 特定のサービス用に開始可能なランタイム インスタンスの最大数。値を整数にすると、全サービスがその数のインスタンスまでに制限されます。モジュール:インスタンス最大数の書式のカンマ区切りリストにすることもできます。例: default:5,backend:3 devserver.maxModuleInstances app.devserver.maxModuleInstances
port アプリケーション サービスをバインドする必要のある最小のポート。デフォルトは 8080 です。 devserver.port app.devserver.port
pythonStartupArgs devserver.pythonStartupScript に指定したスクリプトで利用可能にする引数。 devserver.pythonStartupArgs app.devserver.pythonStartupArgs
pythonStartupScript 新しい Python ランタイム インスタンスの起動時に実行するスクリプト(デバッガなどのツールで便利です)。 devserver.pythonStartupScript app.devserver.pythonStartupScript
runtime 使用するデフォルト ランタイムを指定します。有効なランタイムは javacustomjava7 です。 devserver.runtime app.devserver.runtime
skipSdkUpdateCheck SDK の更新のチェックをスキップします。false の場合は、.appcfg_nag を使用して決定します。デフォルトは False です。 devserver.skipSdkUpdateCheck app.devserver.skipSdkUpdateCheck
startSuccessTimeout サーバーが起動するのを待機する秒数。待機しない場合は 0 に設定します。デフォルトは 30 秒です。 devserver.startSuccessTimeout app.devserver.startSuccessTimeout
storagePath アプリケーションに関連付けられたデータ(datastore や blobstore など)のパス。 devserver.storagePath app.devserver.storagePath
threadsafeOverride アプリケーションの threadsafe 設定を上書きします。値をブール値にすると、全サービスの threadsafe 設定が上書きされますが、service:threadsafe_override の書式のカンマ区切りリストにすることもできます。例: default:False,backend:True devserver.threadsafeOverride app.devserver.threadsafeOverride
useMtimeFileWatcher ソースコードの変更を検出するために mtime ポーリングを使用します。分散ファイル システムを使用してリモートマシンからコードを変更する場合に便利です。デフォルトは False です。 devserver.useMtimeFileWatcher app.devserver.useMtimeFileWatcher

appengine:stop

実行中の App Engine 開発用ウェブサーバーを停止します。

以下のパラメータを使用できます。

パラメータ 説明 プラグイン構成 コマンドライン構成
adminHost 管理サーバーをバインドするホスト名。デフォルトは localhost です。 devserver.adminHost app.devserver.adminHost
adminPort 管理サーバーをバインドするポート。デフォルトは 8000 です。 devserver.adminPort app.devserver.adminPort
cloudSdkPath Google Cloud SDK の場所を設定する任意指定のパラメータ。 cloudSdkPath cloudSdkPath

アップロード エラーのトラブルシューティング

deploy ゴールを使用すると、デプロイメントの試行が失敗して、「404 Not Found This application does not exist (app_id=u'your-app-ID')」というようなメッセージが表示されることがあります。複数の Google アカウントを持っていて、更新の実行に使用したアカウントが間違っている場合に、このエラーが発生します。

この問題を解決するには、承認済みユーザーを gcloud auth login で変更してみてください。

このページは役立ちましたか?評価をお願いいたします。

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

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