読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

TravisCIでGitHubからOpenShiftへデプロイ

OpenShift Travis CI Jenkins

OpenShiftでは、Gearを作成すると、デフォルトでGitのrepositoryを作ってくれるので、ソース管理はとても簡単です。
今回は、既にGitHubで管理してるコードをOpenShiftにデプロイしたいなぁと。

以下のStackOverflowに色々情報が詰まってる感じ。
stackoverflow.com

せっかくなのでCI使ってローカルコミット->プッシュ->ビルド->デプロイができれば嬉しいなぁと思いはじめ、CIも一緒に試すことにしました。

Jenkins

OpenShiftでは構築したGearをCIしてくれるJenkinsを簡単に作れますが、Gearを1つ使ってしまうので、無償枠で遊んでる分にはちょっとなぁ、と。

Circle CI

そういえば今までWebサービスのCI使ったことないので、せっかくなのでCircleCIを試してみました。

GitHubとの連携は超簡単なので、すぐビルドはできましたが、OpenShiftへのデプロイ方法がわからず。。。調べた所、頑張ればできそうだけど。。。みたいな。

Travis CI

ぬあー、と悩んでたところ以下@grimroseのエントリを発見!簡単そう。

grimrose.bitbucket.org

試したところ、簡単でした(^^;

上記のエントリには「ユーザ名とパスワードをtravisに設定するところが気になるところですが」という記述がありましたが、パスワードは簡単に暗号化できる仕組みが用意されていました。

Encryption keys - Travis CI

gem install travis

でTravis CLIを入れます。

このあとは以下のページが役立ちます。

OpenShift Deployment - Travis CI

デプロイ対象のプロジェクトに空の.travis.ymlを置いて、以下コマンドを実行すると

travis setup openshift

対話式にopenshiftの情報を聞かれて、中身を自動生成してくれます。

最初.travis.ymlごと生成してくれるのかなーと思ったのですが、以下エラーでした。

C:\Users\kikuta\Documents\NetBeansProjects\xxxxxxxxxx>travis setup openshift

no .travis.yml found
C:\Users\kikuta\Documents\NetBeansProjects\xxxxxxxxxx>travis setup openshift

OpenShift user: xxxx@yyyy.co.jp
OpenShift password: ********
OpenShift application name: |xxxxxxxxxx|
OpenShift domain: hogehoge
Deploy only from hogehoge/xxxxxxxxxx? |yes| yes
Encrypt Password? |yes| yes

これで.travis.ymlはOK。あとはGitHubのコード側でpom.xmlにopenshiftのプロファイル入れたり、.openshiftフォルダを入れるなどすれば自動化完了です。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村