OpenShift Onlineでtomcat上にhelloworld アプリを配備してみる(その1)
ども、K69 です。
無料で使えるPaaSサービスを探していると
OpenShiftというRedHat社のPaaSサービスを見つけました。
何ができるか試してみよう。
じゃ、「早速アカウントを作って試してみよう!」と
ウニウニしたがこの記事です。
対象読者
- クラウドサービスを使ってWEBアプリケーションを動かしてみたい人。
- RedHatのクラウドサービス(OpenShift)を触ってみたい人。
- Tomcat上でJavaのWEBアプリを簡単に動かしてみたい人。
前提条件
- GitHub.comのアカウントがある人。
- GitBashをインストールしている人。
- WindowsPCを使用している人。
手順
全体のイメージ図
1. OpenShiftの利用登録
下記のページを参考に「利用登録」します。
- OpenShift Online で OpenShift v3 を使ってみよう
http://jp-redhat.com/openeye_online/column/omizo/4029/
2. OpenShift環境セットアップ(作業PC)
OpenShift専用のコマンドラインツールをダウンロードし、適当なディレクトリ(C:\tmpなど)に解凍します。
解凍したファイルにoc.exeがあるので
適当なディレクトリ(C:\tools\openshift-origin-client-toolsなど)を作成し
PAHTを通します。
2. OpenShiftのプロジェクトを作成(OpenShiftコンソール画面)
OpenShiftコンソール画面を開きます。
※ URLは利用登録時のメールに記載
例)
https://console.starter-us-west-2.openshift.com/console
「CreateProject」ボタンを押す
各項目を入力して「Create」ボタンを押す
プロジェクトが作成されると下画面が表示されます。
3. サンプルアプリケーションをFork(コピー)する(GitHub.comのコンソール)
サンプルアプリケーションのあるリポジトリにアクセスします。
右下の「Fork」ボタンを押下します。
Forkすると自分のGitHubにサンプルアプリケーションがコピーされます。(ソース修正が自由にできるようになる)
※ 赤丸の部分が自分の GitHub IDに変わっている
ForkしたリポジトリのURLをコピーしておく。
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を確認する。
HostnameのURLをクリックする。
下の画面が表示されればOK!
6. アプリケーションの更新&反映
こちらに記載しました。
まとめ
日本語の情報が少ないのではじめは戸惑いました。
しかし、Dockerイメージ管理の仕組み(kubernetesベース)や
DevOpsの仕組み(GitHub連携)がそろっているから使い倒せば
OpenShift とても便利そう!
参考URL
- OpenShift Online で OpenShift v3 を使ってみよう
http://jp-redhat.com/openeye_online/column/omizo/4029/ - Installing OpenShift Client Tools on Windows
https://blog.openshift.com/installing-oc-tools-windows/ - Getting Started With Enterprise Tomcat 8 delivered by JBoss Web Server
https://blog.openshift.com/getting-started-with-jboss-web-server/