20151123 追記:BuildHiveについて
BuildHiveを紹介させていただいたこちらの記事ですが、2012年から利用させていただいていたサービスは、2015年11月にクロージングとなった模様です。
- Ref. BuildHive on 20151109 @ CloudBees Blog
フリーのCI環境のホスティングサービスとして、拙いコードながらもいろいろと勉強させていただくことができ、個人的には本当に感謝しきれません!
いずれにしても、この記事は古くなってしまいましたが、記録として残させていただきたいと思います。
以下から、元記事となります。
GitHubに載せているささやかなコードを、BuildHiveを使ってビルド(テスト)してみるようになって、1ヶ月くらい経ちました。
本来、コミットが無い限りは、自動でビルドは行われません。(手動実行は可能です)
執事からの、身に覚えの無い通知。
そんな、ある日のこと。
GitHubからのPull Requestの通知を受け取ったのですが、その後すぐに、差出人 "BuildHive" で同じリポジトリに対する通知が来ていました。
『何ですか?』と思って中を覗くと、このようなメッセージが…。
Akiko Takano » redmine_banner #15 SUCCESS
This pull request looks good
(what's this?)
# 『意訳:ビルドしてみたけど、このプルリクエストは良さげだよ。』
プルリクエストがビルドされてた!
メールにはリンクが貼ってあったので、クリックすると、BuildHiveのプロジェクトに飛びました。
ビルドの説明も、勝手に付加されるようです。
履歴一覧を見ると、通常のビルドにはコメント無しですが、プルリクエストの処理をした#15には、コメントが付いています。
GitHub側にもコメントが!
さて、GitHubのPull Requstの画面を見ると…。
なんと、GitHub側にも『ビルドしてみたけど、このプルリクエストは良さげだよ。』という buidhive (執事さん)からのコメントが付いていました…。
リクエストを出して下さった方、ビックリしてたらごめんなさい。
プルリクエストのテストについて
今までは、ささやかな経験ではありますが、プルリクエストがあったら、一応ローカルの環境に取り込んでテストをし、devブランチにマージして、devブランチでのテスト(外部のCIサーバで綺麗な環境でテスト)をして、問題なければmasterにマージ、ということをしていました。
ですが、執事さんが勝手にやってくれるというのは、大変有り難い!
実際は、プルリクエストはtarnslation(翻訳)ファイルに対する変更で、モノの動作にはあまり影響はしません。
なので、『translationファイルのリクエストまでビルドを試さなくとも…』と思われるかもしれませんが、このtranslationファイルの文字コードがおかしかったりすると、アプリケーションがInternal Server Errorを起こすこともあります。
(実際そういうことが、自分にもありました)
慎重なアプリケーションであれば、translationファイルに変更があった場合も、言語を切り替えての動作テストをするのが真っ当なんでしょうね。
そして、こんなふうに執事が気を利かせてくれるんであれば、言語切替のテストもやり方を調べて組み込んでみてもいいな、なんて思いました。
#ただし、わたしの場合はテストのためにいろいろいじっているので、マージしてくれたソースをちゃんと使ってビルドしないと意味がないので、ビルドスクリプトの修正が必要なことが分かりました…。
なんかすごい執事力!
この機能については、BuildHiveのページにも載っていました。
* Building Pull Requests
When you set up your repository for a CI build on BuildHive, pull requests submitted to your repository will be automatically built, and its result will be posted as a comment to the pull request.
#意訳:『BuildHiveでビルドする場合、プルリクエストがあったら自動で取り込んでビルドします。で、結果をコメントとしてプルリクエスト側に通知しますよ』
うーん、なんかすごい執事力。
drone.ioも良いかな、と思ったんですが、執事さんはやっぱり面白いですね。
もっといろんなものを作って試せるようになりたいです。