Help us understand the problem. What is going on with this article?

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

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

Cloud Shellとは

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

QUARKUS GET STARTED

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

IBM Cloud からCloudShellを起動

・IBM CloudにLoginします。
 アカウントをお持ちでない方は、こちらからご登録ください。登録にはe-Mailアドレスが必要です。
 この手順はライトアカウントで実施可能です。(2020年6月時点)
・Cloud Shellを起動します。
image.png
・今回、Cloud Shellで3つのSessionを使用します。Sessionは+ボタンで追加できます。Cloud Shellでは最大5つのSessionまで使用できます。
image.png
-Session1:Quarkus環境構築
-Session2:curlコマンド実行
-Session3:File編集

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

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

1. Gitクローン

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

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

$ df

image.png

3.Maven Projectを作成

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

image.png

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

$ cd getting-started
$ ls

image.png

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

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

image.png
*pomファイルにはquarkus-bom,quarkus-maven-plaginが設定されています。
image.png
*GreetingResource.javaにはこのようなコードが生成されます。

6.Quarkusを起動

$ ./mvnw compile quarkus:dev:

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

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

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

image.png
戻り値として”Hello”が表示されました! 続いて、Session3を追加します。

Step2: コードの修正

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

$ ls
$ cd getting-started
$ ls

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

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

image.png

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

$ cat GreetingService.java

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

4.GreetingServiceファイルの編集

$ 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 で閉じる
image.png
編集後のファイルを表示して確認

$ 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/'半角英数任意の文字列(’は不要)'

image.png

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした