はじめに: 開発環境の設定

アプリ開発と App Engine スタンダード環境で Java 8 ランタイムにデプロイするためのビルド環境の設定方法について説明します。

このガイドでは次の方法について説明します。

  • Google Cloud CLI をインストールする。
  • Maven 用の App Engine プラグインをインストールして構成する。App Engine には、GradleIntelliJ IDEAEclipse 用のプラグインも用意されていますが、このガイドでは Maven プラグインについて説明します。
  • 新しい App Engine プロジェクトを作成する。
  • Cloud Build に権限を付与し、アプリをビルドしてデプロイできるようにする。

必要な SDK のインストール

  1. Java SE 8 SDK をまだインストールしていない場合は、Java SE 8 Development Kit(JDK)をインストールします。

  2. gcloud CLI の最新バージョンをインストールして初期化します。

    gcloud CLI をインストールして初期化する

  3. App Engine Java コンポーネントをインストールします。

    gcloud components install app-engine-java
    
  4. 自分のユーザー アカウントを承認します。

    gcloud auth application-default login
    

開発環境での Maven の構成

  1. Maven ウェブサイトから Maven 3.5 以降をダウンロードします

  2. Maven 3.5 以降をローカルマシンにインストールします。

新しい App Engine プロジェクトの作成

App Engine アプリを作成するには:

  1. 新しいディレクトリを作成します。

  2. 作成したディレクトリで、新しいプロジェクトを初期化します。

     mvn archetype:generate -Dappengine-version=1.9.59 -Djava8=true -DCloudSDK_Tooling=true -Dapplication-id=your-app-id -Dfilter=com.google.appengine.archetypes:
    
    1. -Dappengine-version を App Engine SDK for Java の最新バージョンに設定し、application-id を Google Cloud プロジェクトの ID に設定します。

    2. Java 8 ランタイムにプロジェクトをデプロイするように -Djava8=true を設定します。

    3. gcloud CLI ツールを使用するように -DCloudSDK_Tooling=true を設定します。

  3. アーキタイプの選択を求められたら、App Engine スケルトン アーキタイプの値 2 を選択します。これにより、必要なディレクトリ構造とファイルが含まれている空のプロジェクトが作成されます。

  4. バージョンの入力を求められたら、Enter キーを押して、デフォルトである最新バージョンを選択します。

  5. Define value for property 'groupId'」と表示されたら、アプリの名前空間を指定します(com.mycompany.myapp など)。

  6. Define value for property 'artifactId'」と表示されたら、プロジェクト名を指定します(myapp など)。

  7. Define value for property 'version'」と表示されたら、デフォルト値を受け入れます。

  8. Define value for property 'package'」と表示されたら、希望するパッケージ名を指定します(またはデフォルト値を受け入れます)。生成される Java ファイルには、ここで指定するパッケージ名が付けられます。

  9. 選択した内容を確認するよう促された場合、デフォルト値(Y)を受け入れます。

  10. プロジェクトの生成が完了するまで待ってから、新しいプロジェクト ディレクトリ(myapp/ など)に移動します。

  11. gcloud CLI ベースのプラグインをプロジェクトの pom.xml ファイルに追加します。

    <build>
        <plugins>
           [...]
              <plugin>
                <groupId>com.google.cloud.tools</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>2.4.4</version>
                <configuration>
                    <projectId>your-project-ID-goes-here</projectId>
                    <version>1</version>
                </configuration>
              </plugin>
           [...]
        </plugins>
    </build>
    
  12. プラグイン構成で、ターゲットの Google Cloud Platform プロジェクトの ID およびサービスとバージョンを指定します。

Cloud Build に権限を付与する

アプリをデプロイするときに、App Engine は Cloud Build を使用してアプリをコンテナにビルドし、コンテナをランタイムにデプロイします。Cloud Build にはデフォルトでは Java 8 アプリをデプロイする権限がないため、プロジェクトにアプリをデプロイする権限を Cloud Build に付与する必要があります。ビルドはアプリのリージョンに作成されます。

次のステップ

以上で開発環境が整ったため、Java アプリの開発と App Engine へのデプロイを開始できます。