プロジェクトに 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: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 |