Apache Maven と App Engine プラグインの使用

Apache Maven は Java のビルド自動化ツールです。

App Engine には、アプリをビルドして App Engine にデプロイする際に使用できる Maven プラグインが用意されています。このプラグインは、Enterprise Application Archive(EAR)プロジェクトをサポートしていません。

始める前に

  1. 次のコマンドを実行して、Maven がインストールされているかどうか確認します。インストールされている場合は、そのバージョンも確認します。

    mvn -v
    

    Maven がインストールされている場合、Apache Maven で始まりバージョン番号(3.5 など)が続く長い文字列が表示されます。

  2. Maven 3.5 以降がインストールされていない場合:

    1. Maven 3.5 以降をダウンロードします。
    2. Maven 3.5 以降をインストールします
  3. まだ行っていない場合は、こちらの手順に沿って gcloud CLI をダウンロードし、Google Cloud プロジェクトを作成して App Engine アプリを初期化します。

  4. gcloud CLI app-engine-java コンポーネントをインストールします。

    gcloud components install app-engine-java
    

App Engine Maven プラグインを追加する

App Engine Maven プラグインを使用するには、プロジェクトの pom.xml ファイルの plugins セクションに次の行を追加します。

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.8.1</version>
</plugin>

アプリのビルドとデプロイ

App Engine Maven プラグインをプロジェクトの pom.xml ファイルに追加すると、次のコマンドを使用してアプリをビルドしてデプロイできます。

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

PROJECT_ID は、Google Cloud プロジェクトの ID に置き換えます。pom.xml ファイルですでにプロジェクト ID を指定している場合は、実行するコマンドに -Dapp.deploy.projectId プロパティを含める必要はありません。

package ゴールがアプリをビルドしてパッケージ化します。appengine:deploy ゴールは次の処理を行います。

  1. アプリの新しいバージョンに一意のバージョン ID を生成します。

  2. 新しいバージョンを App Engine にデプロイします。

  3. すべてのトラフィックを新しいバージョンに転送します。

デプロイのデフォルトを変更する

デフォルトのデプロイ動作を変更するには、appengine:deploy コマンドでパラメータを渡します。たとえば、次のコマンドでは、pom.xml ファイルで定義されたサービスを特定の Google Cloud プロジェクトにデプロイし、そのサービスにカスタム バージョン ID を割り当て、新しいバージョンの自動トラフィック ルーティングを無効にします。

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

また、appengine:deploy コマンドを使用して、cron.yamldispatch.yamlindex.yaml などの構成ファイルをデプロイすることもできます。

詳細については、appengine:deploy リファレンスをご覧ください。

次のステップ