* この投稿は米国時間 8 月 29 日、Google Cloud Platform の Product Manager である Amir Rouzrokh によって投稿されたもの(投稿はこちら)の抄訳です。


                   


私たち Google は、Google Cloud Platform(GCP)をデベロッパーにとって使いやすい環境にすることに力を注いでいます。そうした中、Apache Maven 用と Gradle 用の 2 つの新しいビルド ツール プラグインをベータ リリースできたことは、私たちにとってうれしい限りです。

これらのプラグインを使用すれば、アプリケーションをローカルでテストした後に、コマンドライン インターフェース(CLI)あるいは EclipseIntelliJ などの統合開発環境(IDE)を用いて、クラウドにデプロイできます(なお、こちらの IntelliJ 用ネイティブ プラグインもぜひチェックしてください)。

これらのプラグインは、standardflexible の 2 つの Google App Engine 環境をサポートするオープンソース ソフトウェアで、Google Cloud SDK をベースとしています。
新しい App Engine standard 向け Maven プラグインは、既存の App Engine standard 向け Maven プラグインとは別の製品です。そのため、App Engine Java SDK をベースにツールを整備したいユーザーは既存のプラグインを、Google Cloud SDK をベースにツールを整備したいユーザーは新プラグインを選択してください(他のプラグインはすべて Google Cloud SDK をベースとしています)。

Google Cloud SDK をインストールしたら、pom.xml または build.gradle ファイルを使ってプラグインをインストールします。

pom.xml
<plugins>
  <plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>0.1.1-beta</version>
 </plugin>
</plugins>
build.gradle
buildscript {
dependencies {
   classpath "com.google.cloud.tools:appengine-gradle-plugin:+" // latest version  } }
apply plugin: "com.google.cloud.tools.appengine"

アプリケーションをデプロイするには次のコマンドを実行します。

$ mvn appengine:deploy
$ gradle appengineDeploy

アプリケーションをデプロイすると、その URL がシェル出力に表示されます。

両プラグインでは、別のリリース プロセスを用意したい企業ユーザー向けに、JAR や WAR などのコンパイル済みアーティファクトの場合はクラウドにデプロイせず、ターゲット ディレクトリにコピーするステージング コマンドを提供しています。つまり、これらのアーティファクトを継続的インテグレーション / 継続的デリバリ(CI/CD)パイプラインに渡せるわけです(GCP 用の CI/CD 製品についてはこちらをご覧ください)。


$ mvn appengine:stage
$ gradle appengineStage


デプロイしたアプリケーションのステータスは Google Cloud Platform Console でチェックできます。Google App Engine タブで Instances をクリックすると、アプリケーションの基盤となるインフラストラクチャが表示されます。

新プラグインの詳細は、App Engine standard(MavenGradle)と App Engine flexible(MavenGradle)のドキュメントをご覧ください。サポートを希望する機能がある場合は、GitHub の MavenGradle プラグイン ページにお送りください。

GCP 上での Java プログラミングについては、Java デベロッパー ポータルをご覧ください。GCP で Java プログラムを稼働させるまでに必要なすべての情報が揃っています。また、今後続々とリリースされる GCP 対応の新プラグインにもぜひご注目ください。

それでは、充実したコーディング ライフを!


- Posted by Amir Rouzrokh, Product Manager, Google Cloud Platform