アプリ開発と App Engine スタンダード環境で Java 8 ランタイムにデプロイするためのビルド環境の設定方法について説明します。
このガイドでは次の方法について説明します。
- Google Cloud CLI をインストールする。
- Maven 用の App Engine プラグインをインストールして構成する。App Engine には、Gradle、IntelliJ IDEA、Eclipse 用のプラグインも用意されていますが、このガイドでは Maven プラグインについて説明します。
- 新しい App Engine プロジェクトを作成する。
- Cloud Build に権限を付与し、アプリをビルドしてデプロイできるようにする。
必要な SDK のインストール
Java SE 8 SDK をまだインストールしていない場合は、Java SE 8 Development Kit(JDK)をインストールします。
gcloud CLI の最新バージョンをインストールして初期化します。
App Engine Java コンポーネントをインストールします。
gcloud components install app-engine-java
自分のユーザー アカウントを承認します。
gcloud auth application-default login
開発環境での Maven の構成
新しい App Engine プロジェクトの作成
App Engine アプリを作成するには:
新しいディレクトリを作成します。
作成したディレクトリで、新しいプロジェクトを初期化します。
mvn archetype:generate -Dappengine-version=1.9.59 -Djava8=true -DCloudSDK_Tooling=true -Dapplication-id=your-app-id -Dfilter=com.google.appengine.archetypes:
-Dappengine-version
を App Engine SDK for Java の最新バージョンに設定し、application-id
を Google Cloud プロジェクトの ID に設定します。Java 8 ランタイムにプロジェクトをデプロイするように
-Djava8=true
を設定します。gcloud CLI ツールを使用するように
-DCloudSDK_Tooling=true
を設定します。
アーキタイプの選択を求められたら、App Engine スケルトン アーキタイプの値
2
を選択します。これにより、必要なディレクトリ構造とファイルが含まれている空のプロジェクトが作成されます。バージョンの入力を求められたら、Enter キーを押して、デフォルトである最新バージョンを選択します。
「
Define value for property 'groupId'
」と表示されたら、アプリの名前空間を指定します(com.mycompany.myapp
など)。「
Define value for property 'artifactId'
」と表示されたら、プロジェクト名を指定します(myapp
など)。「
Define value for property 'version'
」と表示されたら、デフォルト値を受け入れます。「
Define value for property 'package'
」と表示されたら、希望するパッケージ名を指定します(またはデフォルト値を受け入れます)。生成される Java ファイルには、ここで指定するパッケージ名が付けられます。選択した内容を確認するよう促された場合、デフォルト値(
Y
)を受け入れます。プロジェクトの生成が完了するまで待ってから、新しいプロジェクト ディレクトリ(
myapp/
など)に移動します。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>
プラグイン構成で、ターゲットの Google Cloud Platform プロジェクトの ID およびサービスとバージョンを指定します。
Cloud Build に権限を付与する
アプリをデプロイするときに、App Engine は Cloud Build を使用してアプリをコンテナにビルドし、コンテナをランタイムにデプロイします。Cloud Build にはデフォルトでは Java 8 アプリをデプロイする権限がないため、プロジェクトにアプリをデプロイする権限を Cloud Build に付与する必要があります。ビルドはアプリのリージョンに作成されます。
次のステップ
以上で開発環境が整ったため、Java アプリの開発と App Engine へのデプロイを開始できます。