Cloud Shell エディタ でSpring Bootプロジェクト開発してみる

Cloud Shell エディタ でSpring Bootプロジェクト開発してみます。

Cloud Shell エディタとは

Theia をベースにした統合開発環境です。TheiaはVisual Studio Codeを元に、TypeFoxとEricssonが開発し、Red Hat、IBM、Google、Arm Holdingsからの追加のコントリビューションを受け、現在はEclipse Foundationのプロジェクトとなっています。

Cloud Shell エディタでは、仮想マシンインスタンス上で開発することが出来ます。料金は無料で、$HOME ディレクトリに 5 GB の永続ディスク ストレージがあります。

bash、sh、emacs、vim などのコマンドライン、gcloud コマンドライン ツール、MySql、Kubernetes、Docker、minikube、Skaffold などの管理および開発ツールが構成済みです。

Cloud Shell エディタの使い方

Cloud Shell エディタを使うにはGCPにアカウント登録する必要があります。アカウント登録したらコンソールにログインし、右上の「Cloud Shell をアクティブにする」をクリックします。

画面下にCloud Shellが表示されます。Cloud Shellの右側にある「エディタを開く」をクリックします。

これで「Cloud Shell エディタ」が表示されました。

Spring Bootプロジェクトをダウンロード

Spring BootプロジェクトをCloud Shell エディタ環境にダウンロードします。Cloud Shell エディタ画面下部のShellで次のように入力します。

$ curl https://start.spring.io/starter.tgz \
-d dependencies=web \
-d baseDir=helloworld \
| tar -xzvf -

すると、リソースがダウンロードされます。ダウンロードされたらCloud Shell エディタでFile -> Open でベースディレクトリのhelloworldを開きます。

あとはいつものSpring Boot開発と同様です。今回は「Hello!」を画面表示させるためにメイン処理に次のように追記します。

DemoApplication.java
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
public class DemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(DemoApplication.class, args);
	}

}

// Add the controller
@RestController
class Helloworld {
        @GetMapping("/")
        public String greet() {
                return "Hello!";
        }
}

これで実行します。Cloud Shell エディタ画面下部のShellで、今回Spring Bootプロジェクトを構築したhelloworld ディレクトリに移動して、次のように入力します。

$ ./mvnw -DskipTests spring-boot:run

出来ました。

以上、Cloud Shell エディタ でSpring Bootプロジェクト開発をしてみました。無料のお手軽開発環境として使い勝手がいいと思います。

参考

Cloud Shell エディタの起動 – Google

新しい Cloud Shell エディタ: クラウドネイティブ アプリを数分で実行 – Google

Build and launch a Spring Boot Java app from Cloud Shell – Google

Cloud Shellで使用可能なツール – Google