GitHub
Tomcat
CI
openshift
kubernetes

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

More than 1 year has passed since last update.

image.png

ども、keita69sawada です。

無料で使える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. アプリケーションの更新&反映

長くなったのでまた今度書きます。

まとめ

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

参考URL