必須:
- Branch / PR作成時の自動テスト
- Web hook
- チャット/IRCへのNotification
- 複数言語サポート
- 並列ビルド
- 高サービス稼働率
あるとよい:
- Other Code Repository (not Github)
- Support Container
- Deploy
- Build status badge
- User/Group Permission
- Coverage Report
- Mobile App
- Button for stopping to build
Plugin Name | Star | Web Hooks | IRC/Chat | Permission | Docker |
---|---|---|---|---|---|
Jenkins | ★★★★☆ | o | o | o | o |
TravisCI | ★★★☆☆ | o | o | o | |
CircleCI | ★★★★☆ | o | o | ||
Wercker | ★★★☆☆ | o | o | o | |
drone (open source) | ????? | o | o | o | |
Shippable | ????? | o | o | o | |
testling-ci | ????? | ||||
[Magnum CI](#MacNum CI) | ????? | o | o | ||
deploygate | ????? | o | o | o | |
CloudBees / BuildHive | ★★☆☆☆ | x |
あなたの思うがままに
Jenkins in Action - nishigori's gist
yamlによる外部DSLでCI jobの定義が可能。 オープンソースに広く利用されている。
python:
- "2.7"
- "2.6"
- "3.2"
良いところ:
- 言語の各バージョンを同時ビルドできる
- 利用者が多い
- ビルドコンソールが折りたたみ表示される
- 豊富なドキュメント
OS: http://docs.travis-ci.com/user/ci-environment/#CI-environment-OS
- 豊富なドキュメント
- private repositoryがメインというサービス
- build failedなイメージにsshできる(30m程)
- 言語の各バージョンを同時ビルドできる
- yamlの他にWeb設定も可能
- サポートがはやい(らしい)
- sudoできない
- Slack連携あり
- docker利用可能
Github/BitbucketのGitリポジトリしか対象にできない。
- sudo可能
- UIが素敵(らしい)
- CLIツールもある(wercker-cli)
- まだbeta版
- step定義可能
- Deployment pipelineが最初から備わっているのは素敵
- boxという概念でOSイメージを作成・利用できる(そしてPuppetも使える!
- Puppet利用できる!!
yaml内の書き方が独自DSL(shコマンド書けば動くわけではない):
build:
steps:
- bundle-install
build:
after-steps:
- hoge/slack-notify:
subdomain: wercker
token $SLACK_TOKEN
channel: general
- はやさが売りらしい
- CI NodeにWindows選べる(過去形?)変わり種
ブラウザテスト専用CIサービスらしい。 詳細はまだ調べてない
Android/iPhone アプリの配置を得意とするCIサーバ。 非エンジニアとのコラボレートを主体に置いている印象。
いわゆるJenkinsホストしているサービス。 Jenkinsを自分たちで構築できない(もしくは面倒くさい)場合に利用するとよさげ。 Jenkinsの機能をそぎ落としてpom.xmlやMaven云々をスマートにやるのが推しらしく、 他言語ではあまり恩恵なさそう。
/ BuildHive