プロジェクトに 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.7.0</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 |