IBM Cloud ShellでQuarkusを試してみよう


この記事は、これからQuarkusを始める方を対象に、IBM Cloudで提供しているIBM Cloud Shellを使ってQuarkus.ioのFirstStartの手順を実行するためのガイドです。

Cloud Shellとは

IBM Cloud Shell はクラウドのメニュー(アイコン)からコンソールに即時アクセスが可能です。
2020年10月現在、主に以下の機能をリリースしています。
・50時間利用/週
・ストレージ500 MB/User
・ファイルのアップロード、ダウンロード処理
・アプリのプレビュー
詳細、最新情報はIBM Cloud Docsをご確認ください

QUARKUS GET STARTED

オリジナルの記事はこちらのQUARKUS - CREATING YOUR FIRST APPLICATIONです。
https://quarkus.io/get-started/
こちらのガイドに習い、IBM Cloud Shellの実行手順に編集しています。
今回、紹介する範囲はQuarkusアプリケーションの起動、修正、実行結果の確認の手順になります。

IBM Cloud からCloudShellを起動

・IBM CloudにLoginします。
 アカウントをお持ちでない方は、こちらからご登録ください。登録にはe-Mailアドレスが必要です。
 この手順はライトアカウントで実施可能です。(2020年6月時点)
・Cloud Shellを起動します。

・今回、Cloud Shellで3つのSessionを使用します。Sessionは+ボタンで追加できます。Cloud Shellでは最大5つのSessionまで使用できます。

-Session1:Quarkus環境構築
-Session2:curlコマンド実行
-Session3:File編集

Step1: サンプルコードの実行

行または$ごとにクリップボードにコピー、Cloud Shellにペーストして進めてください。

1. Gitクローン

git clone https://github.com/quarkusio/quarkus-quickstarts.git

2. ディスクの使用量を確認

df

3.Maven Projectを作成

mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=getting-started \
    -DclassName="org.acme.getting.started.GreetingResource" \
    -Dpath="/hello"

4.ディレクトリを移動し、内容を確認

cd quarkus-quickstarts
cd getting-started
ls

5.ファイルの内容を確認

cat pom.xml
cat src/main/java/org/acme/getting/started/GreetingResource.java


*pomファイルにはquarkus-maven-plaginなどが設定されています。

*GreetingResource.javaにはこのようなコードが生成されます。

6.Quarkusを起動

./mvnw compile quarkus:dev:


起動できました! 続いて、Session2を追加します。

7.cUrlでコードを実行(Session2)

curl -w "\n" http://localhost:8080/hello

*Sessionが切れてしまった場合は、Quarkusを再度起動します。


戻り値として”Hello”が表示されました! 

ブラウザでも確認してみましょう。
右上の目のアイコンから8080ポートを選択してみましょう。

続いて、Session3を追加します。

Step2: コードの修正

1.ディレクトリの確認と移動(Session3)

cd quarkus-quickstarts
cd getting-started

2.ディレクトリーの移動とファイルのコピー、確認

cd src/main/java/org/acme/getting/started
cp GreetingResource.java GreetingService.java

3.編集ファイルの確認(表示)

cat GreetingService.java


↓次で内容を編集します。↓

4.GreetingServiceファイルの編集

エディタをお持ちの方は、IBM Cloud Shell右上の矢印ボタンでファイルのダウンロード/アップロードも可能です。
お手元のエディタで編集して、ファイルを更新していただくこともできます。アップロードファイルはログインアカウント直下のディレクトリに配置されますので、適宜移動してください。

nano GreetingService.java

(編集用ウィンドウが開く)以下の内容に編集(または置換)

package org.acme.getting.started;

import javax.enterprise.context.ApplicationScoped;

@ApplicationScoped
public class GreetingService {

    public String greeting(String name) {
        return "hello " + name;
    }

}

ファイル編集後、Exit → Y → To Files → GreetingService.java → Ent で閉じる

編集後のファイルを表示して確認

cat GreetingService.java

5.GreetingResourceファイルの編集

同様の手順でGreetingResourceファイルを以下の内容に編集

cat GreetingResource.java
nano GreetingResource.java

(編集用ウィンドウが開く)以下の内容に編集(または置換)

package org.acme.getting.started;

import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.jboss.resteasy.annotations.jaxrs.PathParam;

@Path("/hello")
public class GreetingResource {

    @Inject
    GreetingService service;

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    @Path("/greeting/{name}")
    public String greeting(@PathParam String name) {
        return service.greeting(name);
    }

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String hello() {
        return "hello";
    }
}

ファイル編集後、Exit → Y → To Files → GreetingResource.java → Ent で閉じる
編集後のファイルを表示して確認

cat GreetingResource.java 

6.cUrlでコードを実行(Session2)

curl -w "\n" http://localhost:8080/hello
curl -w "\n" http://localhost:8080/hello/greeting/quarkus
curl -w "\n" http://localhost:8080/hello/greeting/'半角英数任意の文字列(’は不要)'

それぞれ、ブラウザでも確認してみましょう。

IBM Cloud ShellでQuarkusのお試しは以上になります。
最後まで読んでいただきありがとうございました。
おつかれさまでした!