Challenge Engineer Life !

エンジニア人生を楽しみたい!仕事や趣味で学んだ技術的なことを書いていくブログです。

TravisCIでGitHubからOpenShiftへデプロイ

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へ
にほんブログ村