Skip to content

Instantly share code, notes, and snippets.

@nishigori
Last active August 29, 2015 14:03
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nishigori/384a28dad52306cf2714 to your computer and use it in GitHub Desktop.
Save nishigori/384a28dad52306cf2714 to your computer and use it in GitHub Desktop.
CI Server Introduction

求めるCI Server像

必須:

  • 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

CI Servers

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

あなたの思うがままに

Jenkins in Action - nishigori's gist

TravisCI

yamlによる外部DSLでCI jobの定義が可能。 オープンソースに広く利用されている。

python:
    - "2.7"
    - "2.6"
    - "3.2"

良いところ:

  • 言語の各バージョンを同時ビルドできる
  • 利用者が多い
  • ビルドコンソールが折りたたみ表示される
  • 豊富なドキュメント

OS: http://docs.travis-ci.com/user/ci-environment/#CI-environment-OS

CircleCI

https://circleci.com/

  • 豊富なドキュメント
  • private repositoryがメインというサービス
  • build failedなイメージにsshできる(30m程)
  • 言語の各バージョンを同時ビルドできる
  • yamlの他にWeb設定も可能
  • サポートがはやい(らしい)
  • sudoできない
  • Slack連携あり
  • docker利用可能

Wercker

http://wercker.com/

Github/BitbucketのGitリポジトリしか対象にできない。

  • sudo可能
  • UIが素敵(らしい)
  • CLIツールもある(wercker-cli)
  • まだbeta版
  • step定義可能
  • Deployment pipelineが最初から備わっているのは素敵
  • boxという概念でOSイメージを作成・利用できる(そしてPuppetも使える!
  • Puppet利用できる!!

yaml内の書き方が独自DSL(shコマンド書けば動くわけではない):

build:
    steps:
        - bundle-install

Slack連携:

build:
    after-steps:
        - hoge/slack-notify:
            subdomain: wercker
            token $SLACK_TOKEN
            channel: general

drone

https://drone.io/

Shippable

https://www.shippable.com/

  • はやさが売りらしい
  • CI NodeにWindows選べる(過去形?)変わり種

testling-ci

https://ci.testling.com/

testling badge

ブラウザテスト専用CIサービスらしい。 詳細はまだ調べてない

Magnum CI

https://magnum-ci.com/

deploygate

https://deploygate.com/

Android/iPhone アプリの配置を得意とするCIサーバ。 非エンジニアとのコラボレートを主体に置いている印象。

CloudBees

http://www.cloudbees.com/

いわゆるJenkinsホストしているサービス。 Jenkinsを自分たちで構築できない(もしくは面倒くさい)場合に利用するとよさげ。 Jenkinsの機能をそぎ落としてpom.xmlやMaven云々をスマートにやるのが推しらしく、 他言語ではあまり恩恵なさそう。

/ BuildHive

Qiita - BuildHiveでrubyを利用

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment