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

SideCI Blog

自動コードレビューサービスSideCIを提供している株式会社アクトキャットのコーポレートブログです。



Jenkinsなど、オンプレミスCIサーバーまとめ(CI, behind the Firewall)

Other

ファイアーウォールの内側で使えるCIサーバーをまとめました。多くはOSSで、無料でお使いになれます。一部有料のものも含まれます。Jenkinsのように自分でホスティングすることを前提とした物から、無理やり頑張れば自分でも使えるOSSなものまで、色々まとめてみました。

2015/04/23 追記:
OSSなCIも増えてきたので、オンプレミスに限らずですが、再度まとめ記事を書いてみました。よろしければどうぞ!
sideci.hatenablog.com

王道CIサーバ

Jenkinsのようにすぐにセットアップして使えるCIサーバソフトをご紹介します。興味があるものがあれば、さくらのVPSなどに適当にデプロイしたり、ローカルで動かしてみたりして、触ってみると良いと思います。

Jenkins

f:id:sideci:20140319091700p:plain

Jenkins

圧倒的知名度、事例のあるJenkins(旧Hudson)さんです。 プラグインなどでrbenvも使えたりなど、とにかく何でもデキる子なのが特徴

補足: bitnami(AWS/EC2)などでワンクリックでクラウドでも使えます

Bamboo(有料)

f:id:sideci:20140319091759p:plain

Bamboo

HipChatやBitBucketでもお馴染みのAtlassian社製CIサーバーです。 OSSってわけじゃないんですが、ライセンス料さえ払えば、OSSのように使えます。 日本の代理店やサポートもあるため、エンタープライズで使用するなら、Jenkinsと良い競合です。

補足: bambooサイトからクラウド(AWS/EC2)にセットアップして使うことも出来ます

仮想環境型CIサーバ

VM, Docker(LXC)などを利用したCIサーバ。 仮想化環境+Immutable InfrastructureやInfrastructure as Code(Chef, Puppetなど)によって実現されている新時代CI。Jenkinsなどだと、デフォルトではJenkinsが動いているシステムに依存してあらゆるコマンド(タスク)が実行されますが、新時代CIではDockerコンテナの中に環境を切り離して実行することが出来ます。 rm -rf *だって出来ちゃいます!

でも実は、Docker + Jenkinsでも同じことが出来るんですけどね。。。

Drone

f:id:sideci:20140319092654p:plain

Drone

GO言語で書かれたCIサーバです。Dockerコンテナを使うのが特徴的。

OSS化(ソースが公開)されたのはつい最近で、ライセンスはApache 2.0ラインセンス。 Vagrantfileも用意されているので、Vagrantをインストール済みの方であればすぐにでもお試し頂けるひと品です。

補足: Drone.ioというサイトの裏側なOSSです。

Travis

f:id:sideci:20140319092927j:plain

Travis

こちらはLinuxコンテナではなく、VM技術を使ったCIサーバ。 ただ、ソースコードは非常複数のレポジトリ、役割に分割されていて、管理画面、api、CIサーバのCookbook、etc…と沢山の種類のサーバを用意しないといけないので、これをオンプレミス(自前)で動かすのは非常に難しいんじゃないかと思います。

最近コードの整備が進んでいるようなので、そのうち使いやすくなるかも。

おまけ

いくつか他にもCIサーバは見つけたのですが、Jenkinsより優っている点があまり分からなかったので、おまけとして記載しての紹介のみに留めます。海外でもそんなに流行ってるわけではなさそうです。

TeamCity(有料)

TeamCity

CruiseControl

CruiseControl

Apache Continuum

Apache Continuum

おわりに

Jenkinsマンセーな方やJenkinsでまぁいっかーという方は普通にJenkinsをオススメします。実績が多く、プラグインが多く、非常に万能です。

エンタープライズ保守が必要だという方は、Bambooをお試しになると良いでしょう。

新しいCIを触ってみたいという方はDrone.ioがOSSですし、Dockerを使うという新しい試みをしており、オススメできます。今のところ国内ではDroneをオンプレミスで本格的に導入してみた事例は無いと思われるため、本格導入事例をお待ちしております!

.Net用など、特化型のCIサービスは今回調べていない、私もあまり詳しくないため、教えて頂ければ幸いです。

2015/04/23 追記:
OSSなCIも増えてきたので、オンプレミスに限らずですが、再度まとめ記事を書いてみました。よろしければどうぞ!
sideci.hatenablog.com