Author
廣田 隆之Takayuki Hirota
こんにちは!リックソフトの廣田です。
今回のテーマは、いまや開発現場になくてはならない存在となった CI ツールです。
CI の雄として絶対王者の地位を築いている Jenkins と、Atlassian 製のツールとして知名度は低いながらも少しずつ成長を続けている Bamboo を比較するという、少々無謀な記事です。
結果は火を見るより明らかなところはありますが、なんとか書いてみたいと思います。
機能
Bamboo, Jenkins ともにアドオンやプラグインで機能を拡張することができます。
Jenkins はその圧倒的なプラグインの多さでも知られています。Bamboo にもアドオンがあることはあるのですが、少々盛り上がりに欠けるのは否めません。これからに期待です。
日本語対応
完全に Jenkins に軍配が上がります。そもそも Bamboo は日本語化されていません。
開発者自身が日本語ネイティブなので当然といえば当然ですが、Jenkins は日本人が安心して使えるソフトウェアですね。
情報量
Jenkins 強いよね、の一言。日本語で読める書籍も多数出版されていますし、ウェブ上の情報量、事例、 コミュニティ、Jenkins に隙はありません。
Atlassian 製品との連携
Bamboo を選択するメリットはなんといってもこの点でしょう。有名な課題管理システムである JIRA、成長著しいGit リポジトリツールの Bitbucket Server、ユーザー管理システムの Crowd といった Atlassian 製のツールチェーンで揃えることで、簡単にシステム連携できるようになり、お互いの画面にリンクが自動的に張られたり、非常に親和性が高いです。
また、コードカバレッジツールである Clover を導入すると、Jenkins ではセットアップが少し面倒だった JUnit のコードカバレッジが簡単に計測できます。
ちなみに、Jenkins の開発でもバグのトラッキングには JIRA、Wiki は Confluence が使われているという事実は注目に値します。
サポート
商用製品だけに Bamboo に分があります。しかし、Jenkins も開発者自身によるエンタープライズ向けサポートも提供されているので、互角といったところでしょうか。
製品名
Jenkins 、そしてその生き別れの兄弟である Hudson は、開発者のために働く執事のようなソフトウェアということで、執事っぽい名前から名付けられたとの噂です。
いっぽうの Bamboo ですが、こちらは「竹」のことであろうと私たちは推測しています。「竹」は成長が早く、節(=ビルド?)がたくさんあります。が、真実は謎のままです。
弊社内では、親しみをこめて「竹ちゃん」と呼ぶエンジニアもいます。
まとめ
私自身は Hudson の時代からずっと Jenkins を使ってきたこともあり、Jenkins に愛着があるのは事実ですが、最近は Bamboo でもそれほど不都合を感じていません。
CI を導入する理由はビルドやテストを自動化することが目的であり、それが実現できて開発がスムーズに回りさえすればどちらのツールもあまり大差はないというのが実感です。
また、課題管理システムや Wiki とは違い、CI サーバーがチーム内に二つあっても問題ありません。
運用は少々大変にはなりますが、どちらか一方を選ぶのではなく、Bamboo と Jenkins を二つ立ててみて両方でビルドしてみるというのもありだと思います。
参考
数年前の弊社ブログ記事ですが、こちらもご覧ください。