今回はそんなPaaSの中からRedHatが提供しているOpenShiftにアプリケーションサーバとデータベースを建ててローカルのウェブアプリケーションをデプロイするまでをさらりと書いてみます。
アカウント登録
まずはOpenShiftのサイトへアクセスしアカウント登録します。https://www.openshift.com/
Sign Upして確認メールでVerifyする一般的な流れなので特に悩むことはないと思いますが、Google Chromeでは何故かたまに失敗するのでFireFoxやIEでの登録をオススメします。
OpenShift上の環境構築
今回以下の構成で作ります。Webアプリケーションサーバ | WildFly Application Server 8.2.0.Final |
---|---|
RDBMS | PostgreSQL9.2 |
- ログインして「Applications」タグを選択
- 「Add Application...」ボタンを押下
- 利用したいアプリケーションの構成を選択。
今回の場合は「WildFly Application Server 8.2.0.Final」 - アプリケーション登録画面でアプリケーションの情報を入力
- Public URL 1つ目
これがアプリケーション名になります。 - Public URL 2つ目
ドメイン名です、初回のみ聞かれます。重複しないドメインを指定してください。 - Source Code
Githubなどにソース登録している場合は入力。ローカルのアプリをデプロイしたいだけの場合は未入力でOK - Scaling
負荷が上がった際にscaleしてサーバインスタンス(OpenShiftの場合Gear)増やすかどうかの設定。
無料枠では3Gearまでしか使う事が出来ずスケールされると困るのでNo scaling - Region
OpenShift環境を作るAWSのリージョン設定。デフォルトでOK
- Public URL 1つ目
- 「Create Application」ボタンを押下
裏で環境構築スクリプトがゴリゴリ動くので結構待ちます - 「Will you be changing the code of this application?」と聞かれますが、どっちにせよrhcのインストールが必要になるので今は「Not now, continue」を選択して先に進みます。
- この段階でWildFlyが乗ったOpenShiftの環境が作成されました。
画面に表示されるUsername, PasswordはWildFlyの管理コンソールへログインするために必要です。メモしておきましょう。
後述するrhcツールをインストールして「rhc port-forward [アプリ名]」コマンドを打つとローカル環境の特定ポートがOpenShiftへポートフォワーディングされローカル環境でOpenShiftの環境を弄られるようになります。 - 次にアプリケーションへPostgreSQLを追加します。
このデータベースはWebアプリケーションサーバと同じGearの上に作られるためGearを消費しません。 - 「Add PostgreSQL9.2」を選択
- 「Add Cartridge」を選択
- 表示されるRoot User,Root Password, Database Nameは作成したデータベースへのアクセスに使用します。
後述するrhcツールの「rhc port-forward [アプリ名]」コマンドでポートフォワードすればローカルからデータベースに接続出来ます。
ちなみにこの段階でWildFlyへ自動的に- Name:PostgreSQLDS
- JNDI:java:jboss/datasources/PostgreSQLDS
データベースを使用するアプリ側のDatasorceへこのJNDIを使用すればデータベース側の設定を特に気にする必要なく疎通出来ます。
管理ツール(rhc)のインストール
OpenShiftの管理を行うためにはrhcツールを使用します。rhcはRubyで動作し、アプリケーションのデプロイにはgit環境が必要になるので双方をインストールする所から書いていきます。
Rubyのインストール
Windowsでは「RubyInstaller」を利用すると簡単にRubyのインストールが行えます。「RubyInstaller」を利用する際には「Rubyの実行ファイルへ環境変数PATHを設定する」チェックを付けてPATHを通さないとコマンドプロンプトで使えません。
gitのインストール
Windows環境でgitを使う場合はCUI操作用に「Git for Windows」GUI操作用に「SourceTree for Windows」辺りをオススメします。「Git for Windows」インストールの途中で出てくる「Adjusting your PATH environment」では「Run Git from the Windows Command Prompt」を選択するとPATHが通りコマンドプロンプトでgitコマンドが使えるようになります。
rhcのインストール
Rubyがインストールされている場合は- gem install rhc
OpenSiftへウェブアプリケーションをデプロイする。
デプロイのためにはOpenShiftへローカルマシンのSSHキー登録、OpenShift上に自動で生成されたgit環境のクローンが必要です。ローカルマシンのSSHキー生成からOpenShiftへの登録
以下のコマンドを発行します。- rhc setup
- hostnameは「openshift.redhat.com」を使用するのでそのままEnter
- OpenShiftのアカウント入力を求められた場合はアカウントを入力
- ローカルマシンの公開SSH keyをOpenShiftのアクセスコードへアップロードしますか?と聞かれるので「yes」を入力
これでローカルマシンからrhcコマンドで自由にOpenShift環境へアクセス出来るようになります。
作成したOpenShift環境のgitをクローン
まずは以下のコマンドでgitリポジトリのURLを取得しておきます。- rhc show-app [アプリケーション名]
ここで指定するアプリケーション名はOpenShiftで環境構築時に指定したアプリケーション名です。
gitクローンを作成する任意のフォルダを作成し、コマンドプロンプトでカレントディレクトリをそのフォルダ以下に移動してから以下のコマンドを実行します。
- git clone [Git URL]
作成済みのウェブアプリケーションをOpenShiftへデプロイ
今回WildFlyのQuickStartから「kitchensink-angularjs」を使用しました。WildFlyのQuick Startにあるサンプルアプリケーションのpom.xmlにはOpenShiftのprofileも既に記述されているので、ソースの入れ替えをして「persistence.xml」のDatasourceだけ「java:jboss/datasources/PostgreSQLDS」に変更すればそのままビルドからデプロイまで出来ます。
以下のコマンドを実行します。
- git add -A
- git commit -m "first deploy"
- git push
ビルドとデプロイに成功すれば公開完了です。
公開したサンプルアプリケーション↓
http://jbosswildfly-hittechblog.rhcloud.com/
warファイルで固めたウェブアプリケーションをデプロイしたい場合は「deployments」フォルダ以下に配置して上記のコマンドを実行してください。
「deployments」フォルダ以下のファイルは直接デプロイされます。
ちなみに自動でデプロイが走ってほしくない時は以下のコマンドで設定を変更できます。
- rhc app-configure [アプリケーション名] --no-auto-deploy
おまけ:rhc管理コマンド
ポートフォワーディング:WildFlyコンソール、データベースの確認
以下コマンドを実行するとローカル環境のポートへOpenShiftの環境をポートフォワーディング出来ます。- rhc port-forward [アプリケーション名]
- http://localhost:9990
- http://localhost:5433
サーバログのtail
サーバログのtailをしたい場合は以下のコマンドを発行します。- rhc tail [アプリケーション名]
0 件のコメント:
コメントを投稿