Cover Image for OpenShift Onlineでtomcat上にhelloworld アプリを配備してみる(その1)
OpenShift Onlineでtomcat上にhelloworld アプリを配備してみる(その1)

image.png

ども、K69 です。

無料で使えるPaaSサービスを探していると
OpenShiftというRedHat社のPaaSサービスを見つけました。
何ができるか試してみよう。

じゃ、「早速アカウントを作って試してみよう!」と
ウニウニしたがこの記事です。

対象読者

  • クラウドサービスを使ってWEBアプリケーションを動かしてみたい人。
  • RedHatのクラウドサービス(OpenShift)を触ってみたい人。
  • Tomcat上でJavaのWEBアプリを簡単に動かしてみたい人。

前提条件

  • GitHub.comのアカウントがある人。
  • GitBashをインストールしている人。
  • WindowsPCを使用している人。

手順

全体のイメージ図

memo@1-22.png

1. OpenShiftの利用登録

下記のページを参考に「利用登録」します。

2. OpenShift環境セットアップ(作業PC)

OpenShift専用のコマンドラインツールをダウンロードし、適当なディレクトリ(C:\tmpなど)に解凍します。

https://github.com/openshift/origin/releases/download/v3.6.0/openshift-origin-client-tools-v3.6.0-c4dd4cf-windows.zip

解凍したファイルにoc.exeがあるので
適当なディレクトリ(C:\tools\openshift-origin-client-toolsなど)を作成し
PAHTを通します。

2. OpenShiftのプロジェクトを作成(OpenShiftコンソール画面)

OpenShiftコンソール画面を開きます。

※ URLは利用登録時のメールに記載

例)
https://console.starter-us-west-2.openshift.com/console

「CreateProject」ボタンを押す

image.png

各項目を入力して「Create」ボタンを押す

image.png

プロジェクトが作成されると下画面が表示されます。

image.png

3. サンプルアプリケーションをFork(コピー)する(GitHub.comのコンソール)

サンプルアプリケーションのあるリポジトリにアクセスします。

https://github.com/openshiftdemos/os-sample-java-web

右下の「Fork」ボタンを押下します。

image.png

Forkすると自分のGitHubにサンプルアプリケーションがコピーされます。(ソース修正が自由にできるようになる)
※ 赤丸の部分が自分の GitHub IDに変わっている
image.png

ForkしたリポジトリのURLをコピーしておく。

image.png

3. アプリケーションのビルド(ocコマンド)

コマンド
rem "★ 必要に応じて変更(↓)"
set OC_PATH="C:\tools\openshift-origin-client-tools"
set PATH=%PATH%;%OC_PATH%
rem "★ 必要に応じて変更(↓)"
set OSHIFT_URL="https://console.starter-us-west-2.openshift.com"
oc login %OSHIFT_URL%
rem "★ Openshiftの ユーザ名、パスワード入力"

rem "★ 必要に応じて変更(↓)"
set FORK_URL=https://github.com/keita69/os-sample-java-web.git
oc new-app --name=tomcat-hello-world jboss-webserver30-tomcat8-openshift~%FORK_URL%

成功すれば、--> Successと表示される。

実行結果
>oc new-app --name=tomcat-hello-world jboss-webserver30-tomcat8-openshift~https://github.com/%GITHUB_ID%/os-sample-java-web.git
warning: Cannot find git. Ensure that it is installed and in your path. Git is required to work with git repositories.
--> Found image 4cff535 (6 weeks old) in image stream "openshift/jboss-webserver30-tomcat8-openshift" under tag "latest" for "jboss-webserver30-tomcat8-openshift"

    JBoss Web Server 3.0
    --------------------
    Platform for building and running web applications on JBoss Web Server 3.0 - Tomcat v8

    Tags: builder, java, tomcat8

    * A source build using source code from https://github.com/keita69/os-sample-java-web.git will be created
      * The resulting image will be pushed to image stream "tomcat-hello-world:latest"
      * Use 'start-build' to trigger a new build
    * This image will be deployed in deployment config "tomcat-hello-world"
    * Ports 8080/tcp, 8443/tcp, 8778/tcp will be load balanced by service "tomcat-hello-world"
      * Other containers can access this service through the hostname "tomcat-hello-world"

--> Creating resources ...
    imagestream "tomcat-hello-world" created
    buildconfig "tomcat-hello-world" created
    deploymentconfig "tomcat-hello-world" created
    service "tomcat-hello-world" created
--> Success      ★★★ 成功 ★★★
    Build scheduled, use 'oc logs -f bc/tomcat-hello-world' to track its progress.
    Run 'oc status' to view your app.

4. アプリケーションの公開(ocコマンド)

コマンド
oc expose svc tomcat-hello-world
実行結果
>oc expose svc tomcat-hello-world
route "tomcat-hello-world" exposed

5. ブラウザからアクセスしてみる。

OpenShift コンソールからURLを確認する。

image.png

HostnameのURLをクリックする。

image.png

下の画面が表示されればOK!

image.png

6. アプリケーションの更新&反映

こちらに記載しました。

https://k69blog.com/posts/openshift_helloworld2/

まとめ

日本語の情報が少ないのではじめは戸惑いました。
しかし、Dockerイメージ管理の仕組み(kubernetesベース)や
DevOpsの仕組み(GitHub連携)がそろっているから使い倒せば
OpenShift とても便利そう!

参考URL

© 2022 k69

本サイトを通じて、たくさんの人がプログラミングに興味を持ち、 これがキッカケでモノづくりの楽しさに触れることができれば幸せです!