プロジェクトに gcloud CLI ベースの App Engine Maven プラグインを追加すると、App Engine に固有の次の Maven のゴールが使用可能になります。
目標 | 説明 |
---|---|
appengine:cloudSdkLogin |
アカウントのグローバル gcloud CLI の状態を設定します。 |
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 の使用をご覧ください。
パラメータの使用
各ゴールに、pom.xml
ファイルで指定できるパラメータに関連付けられています。例:
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
<configuration>
<deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
<cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
</configuration>
</plugin>
</plugins>
また、次のパターン -D[USER_PROPERTY]=[PARAMETER_VALUE]
のように、コマンドラインで構成パラメータを定義することもできます。
たとえば、アプリケーションのステージング先ディレクトリを指定するには、次のように入力します。
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
各ゴールに使用可能なパラメータのリストについては、以下のセクションをご覧ください。
appengine:deploy
アプリケーションをステージングし、App Engine にデプロイします。
次のパラメータを使用できます。一部のパラメータは、gcloud app deploy
コマンドライン フラグ、または gcloud app services
コマンドライン フラグに対応しています。
パラメータ | 説明 | ユーザー プロパティ |
---|---|---|
appEngineDirectory |
app.yaml とサポートされている他の App Engine 構成ファイルを含むディレクトリ。デフォルトは ${basedir}/src/main/appengine です。 |
app.stage.appEngineDirectory |
artifact |
デプロイする JAR アーカイブまたは WAR アーカイブの場所。デフォルトは ${project.build.directory}/${project.build.finalName}.${project.packaging} です。 |
app.stage.artifact |
bucket |
デプロイに関連するファイルのステージングで使用される Cloud Storage バケット。この引数が指定されない場合は、アプリケーションのデフォルト バケットが使用されます。 | app.deploy.bucket |
cloudSdkPath |
Google Cloud CLI の場所を構成するパラメータ(省略可能)。デフォルトは、PATH からの自動検出または標準のインストール場所です。 | cloudSdkPath |
deployables |
デプロイするサービスまたは構成に関する YAML ファイル。デフォルトは、ステージング ディレクトリ内の app.yaml ファイルです。見つからない場合、ステージング ディレクトリ内で必要な構成ファイル(app.yaml など)を自動生成しようと試みます。 |
app.deploy.deployables |
dockerDirectory |
Dockerfile および他の Docker リソースを含むディレクトリ。デフォルトは ${basedir}/src/main/docker/ です。 |
app.stage.dockerDirectory |
imageUrl |
特定の Docker イメージを使用してデプロイします。ImageUrl は、docker.pkg.dev/foo などの有効な Artifact Registry 名であることが必要です。ここで foo はイメージ名です。 |
app.deploy.imageUrl |
projectId |
この呼び出しに使用する Google Cloud プロジェクト名。デフォルトは、gcloud の初期設定時に選択した現在のプロジェクトです。 |
app.deploy.projectId |
promote |
すべてのトラフィックを受信するように、デプロイ済みバージョンを昇格させます。デフォルトは True です。 |
app.deploy.promote |
server |
接続先の App Engine サーバー。通常、この値を変更する必要はありません。 | app.deploy.server |
stagingDirectory |
必須。アプリケーションのステージング先のディレクトリ。デフォルトは ${project.build.directory}/appengine-staging です。 |
app.stage.stagingDirectory |
stopPreviousVersion |
すべてのトラフィックを受信する新しいバージョンをデプロイする際に、直前に実行中のバージョンを停止します。 | app.deploy.stopPreviousVersion |
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
が変更されても、アプリケーションを停止して再起動する必要はありません。
以下のパラメータを使用できます。そのうちのいくつかは、ローカル開発用サーバー コマンドライン フラグに対応します。
プロパティ | 説明 | プラグイン構成 | コマンドライン構成 |
---|---|---|---|
automaticRestart |
ウェブ アプリケーション ファイル(リソースまたはクラスファイル)が変更されたときに、インスタンスを自動的に再起動します。コンパイル済みのクラスファイルをウェブアプリ アプリケーションの正しいディレクトリに配置するように Maven を構成するには、Maven の出力ディレクトリの設定を変更する必要があります。<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
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
デプロイ用のアプリケーション ビルド ディレクトリを生成します。
以下のパラメータを使用できます。
パラメータ | 説明 | ユーザー プロパティ |
---|---|---|
appEngineDirectory |
app.yaml とサポートされている他の App Engine 構成ファイルを含むディレクトリ。デフォルトは ${basedir}/src/main/appengine です。 |
app.stage.appEngineDirectory |
artifact |
デプロイする JAR アーカイブまたは WAR アーカイブの場所。デフォルトは ${project.build.directory}/${project.build.finalName}.${project.packaging} です。 |
app.stage.artifact |
cloudSdkPath |
gcloud CLI の場所を構成するオプションのパラメータ。 | cloudSdkPath |
dockerDirectory |
Dockerfile および他の Docker リソースを含むディレクトリ。デフォルトは ${basedir}/src/main/docker/ ${basedir}/src/main/docker/ です。 |
app.stage.dockerDirectory |
stagingDirectory |
必須。アプリケーションのステージング先のディレクトリ。デフォルトは ${project.build.directory}/appengine-staging です。 |
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 |
gcloud CLI の場所を構成するオプションのパラメータ。このプロパティを指定しなかった場合、プラグインは自動的に gcloud CLI をダウンロードします。 | cloudSdkHome |
cloudSdkHome |