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

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

ゴール 説明
appengine:cloudSdkLogin アカウント全体での Cloud SDK の状態を設定します。
appengine:deploy アプリケーションをステージングし、App Engine にデプロイします。
appengine:deployAll アプリケーションとそのすべての有効な yaml 構成ファイルを同時にステージングし、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 開発用サーバーを非同期で起動して稼働中にしてから、コマンドラインに戻ります。このゴールが実行された場合の動作は run ゴールとほぼ同じですが、Maven がゴールの処理を続けて、サーバーが稼働中になると終了する点が異なります。
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:goal の実行をすべてスキップする場合は、skip パラメータを true に設定します。

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
cloudSdkHome Cloud SDK の場所を構成するためのオプションのプロパティ。このプロパティを指定しなかった場合、プラグインは自動的に Cloud SDK をダウンロードします。 cloudSdkHome cloudSdkHome
cloudSdkVersion Cloud SDK のバージョンを指定するためのオプションのパラメータ。 cloudSdkVersion cloudSdkVersion
compileEncoding JSP のコンパイルに使用する文字エンコード。App Engine スタンダード環境でのみ使用できます。 stage.compileEncoding app.stage.compileEncoding
deleteJsps コンパイル後に JSP ソースファイルを削除します。App Engine スタンダード環境にのみ適用されます。 stage.deleteJsps app.stage.deleteJsps
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
projectId この呼び出しに使用する Google Cloud Platform プロジェクト名。projectId を指定する必要があります。GCLOUD_CONFIG を設定して、gcloud config 状態に設定されたプロジェクトを使用することもできます。 deploy.projectId app.deploy.projectId
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 が変更されても、アプリケーションを停止して再起動する必要はありません。

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

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

<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags アプリのインスタンスを起動する際に java コマンドに渡す追加の引数。複数指定できます。例:

<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
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

appengine:stage

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

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

パラメータ 説明 プラグイン構成 コマンドライン構成
cloudSdkHome Cloud SDK の場所を構成するためのオプションのプロパティ。このプロパティを指定しなかった場合、プラグインは自動的に Cloud SDK をダウンロードします。 cloudSdkHome cloudSdkHome
cloudSdkVersion Cloud SDK のバージョンを指定するためのオプションのパラメータ。 cloudSdkVersion cloudSdkVersion
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 開発用ウェブサーバーを非同期で起動して稼働中にしてから、コマンドラインに戻ります。このゴールが実行された場合の動作は run ゴールとほぼ同じですが、Maven がゴールの処理を続けて、サーバーが稼働中になると終了する点が異なります。

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

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

<environment>
  <key1>value1</key1>
  <key2>value2</key2>
</environment>
      
devserver.environment app.devserver.environment
jvmFlags アプリのインスタンスを起動する際に java コマンドに渡す追加の引数。複数指定できます。例:

<jvmFlags>
  <jvmFlag>-Xmx1024m</jvmFlag>
  <jvmFlag>-Xms256m</jvmFlag>
</jvmFlags>
      
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

appengine:stop

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

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

パラメータ 説明 プラグイン構成 コマンドライン構成
host 管理サーバーをバインドするホスト名。デフォルトは localhost です。 devserver.adminHost app.devserver.adminHost
port 管理サーバーをバインドするポート。デフォルトは 8000 です。 devserver.adminPort app.devserver.adminPort
cloudSdkHome Cloud SDK の場所を構成するためのオプションのプロパティ。このプロパティを指定しなかった場合、プラグインは自動的に Cloud SDK をダウンロードします。 cloudSdkHome cloudSdkHome

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

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

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

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

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

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