[Confidential] © 2013 Actcat, Inc. 1
CIサービスを3ジャンルに分けて考察。
Test and Delivery, Everything, Specialization
β
[Confidential] © 2013 Actcat, Inc.
CIサービス 3ジャンル
1.  Build,(Test(and(Delivery(
"  テスト(&(デプロイ専用CI(
"  =>(今回は主にココをまとめました(
2.  Everything(
"  継続的インテグレーション全てに使える(
3.  Specialization(
"  一部に特化したCI(
(テスト(&(デプロイ専用を除く)
6
[Confidential] © 2013 Actcat, Inc. 7
BUILD, TEST AND DELIVERY
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery
! ソフトウェアのビルド・テスト・デプロ
イに特化したCI(SaaS(/(Software(
! CircleCI,(TravisCI,(Wercker,(Drone.ioなど(
! Jenkinsは元々はBuild専用だったが、その
名の通り執事のごとく、何でもこなして
くれるようになったので、Jenkinsは
Everythingジャンルの長にジャンル分け
8
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery
ビルド・テスト・デプロイ向け
CIを今回の勉強会にあたって(
総まとめしてみました!
9
[Confidential] © 2013 Actcat, Inc. 10
[Confidential] © 2013 Actcat, Inc. 11
[Confidential] © 2013 Actcat, Inc. 12
[Confidential] © 2013 Actcat, Inc. 13
[Confidential] © 2013 Actcat, Inc. 14
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery
中略
15
[Confidential] © 2013 Actcat, Inc. 16
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery
中略
17
[Confidential] © 2013 Actcat, Inc. 18
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery
続きはwebで!(
http://sideci.hatenablog.com/
entry/2015/03/13/144948
19
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery 調査結果
! SaaS型CIサービス(13個(
" CircleCIをはじめ「いわゆるCI系SaaS」(
! OSSのCIツール(7個(
" Drone.io含む(Travis含まず)(
! SaaS型 特化型CIサービス(5個(
" iOS,(Android専用など
20
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery TOP10
1.  TravisCI(
2.  CODESHIP(
3.  JenkinsCI(
4.  CircleCI(
5.  Wercker(
6.  Shippable(
7.  Drone.io(
8.  TeamCity(
9.  Buildkite(
10. MagunumCI
21
Leanstack.ioというサイトによる人気順(
[Confidential] © 2013 Actcat, Inc.
Build, Test and Delivery Pickup
1.  TravisCI(
2.  CODESHIP(
3.  JenkinsCI(
4.  CircleCI(
5.  Wercker(
6.  Shippable(
7.  Drone.io(
8.  TeamCity(
9.  Buildkite(
10. MagunumCI
22
5個をピックアップ(
[Confidential] © 2013 Actcat, Inc.
ユーザ数最大、OSS系CIの長、最古参
TravisCI
23
[Confidential] © 2013 Actcat, Inc.
TravisCIの特徴
! OSSのソフトウェアが半端ない数が
TravisCI.orgでBuildされている(
! OSSを軸に発展したため、複数のプログラミ
ング言語のバージョンでBuildするなど、他の
CIサービスにはない多機能性(
! バックエンドはLXCではなくVM(
" LXCなどない時代から存在しているため(
" Objective1CのBuildのみMac(OS(X
24
[Confidential] © 2013 Actcat, Inc.
料金はちょっとお高め
25
[Confidential] © 2013 Actcat, Inc.
CODESHIP
26
[Confidential] © 2013 Actcat, Inc.
CODESHIPの特徴
! GitHub,(BitBucketの両対応(
! Build,(Test,(Delivery,(Notification(
" 割りと普通?CIの一般的な感じ(
" SSHでログインしてBuildログを見るなど
可(
! パラレル稼働で高速なBuild・Testが可能
27
[Confidential] © 2013 Actcat, Inc.
料金
無料プランあり。有料は$49/month
28
[Confidential] © 2013 Actcat, Inc.
CircleCI
29
[Confidential] © 2013 Actcat, Inc.
CircleCIの特徴
! GitHubのみ対応(
" BitBucketはサポートしない(
! Build,(Test,(Delivery,(Notification(
" 割りと普通?CIの一般的な感じ(
" SSHでログインしてBuildログを見るなど
可(
! パラレル稼働で高速なBuild・Testが可能
! 内部はLXC。DockerをLXC上で動かすこと
も可
30
[Confidential] © 2013 Actcat, Inc.
料金
無料プランあり。有料は$49/month
31
[Confidential] © 2013 Actcat, Inc.
人気第五位?
Wercker
32
[Confidential] © 2013 Actcat, Inc.
Werckerの特徴
! GitHub,(BitBucketの両対応(
! Build,(Test,(Delivery,(Notification(
" 割りと普通?CIの一般的な感じ(
! Step,(Boxという物をユーザ間で共有しあ
えるのが最も大きな特徴(
" 「HipChatに通知するStep」などがユーザ
によって公開されている
33
[Confidential] © 2013 Actcat, Inc.
料金
ベータ期間中は完全無料と太っ腹
34
[Confidential] © 2013 Actcat, Inc.
人気第六位?
Shippable
35
[Confidential] © 2013 Actcat, Inc.
Shippableの特徴
! GitHub,(BitBucketの両対応(
! Build,(Test,(Delivery,(Notification(
" 割りと普通?CIの一般的な感じ(
" 当初はCircleCIより4倍早い、といたこと
がLPに記載されていたが、今は記載され
ていない(
36
[Confidential] © 2013 Actcat, Inc.
料金
無料プランあり。有料プランも 年額 $12
37
[Confidential] © 2013 Actcat, Inc.
PaaS(for(Testingは(
CircleCI一択でしょ(
(
僕はキメ顔でそう言った
38
[Confidential] © 2013 Actcat, Inc.
だってCircleCIが一番金持ち何だもん!
と、思ってたら、いつの間にかShippable...
39
0(
2000000(
4000000(
6000000(
8000000(
10000000(
12000000(
CircleCI(
CODESHIP(
Shippable(
Drone.io(
Wercker(
12億円(
調達済
[Confidential] © 2013 Actcat, Inc.
まじめにユースケース別おすすめ 1/2
! テストがたくさんある・時間がかかる(
" テストのパラレル実行に力を入れている
CircleCIがおすすめ。お金さえ払えばどんど
ん早くなる(
! Docker(Containerをデプロイしたりなどの最先
端構成(
" CircleCIが現状最も多機能。CircleCIが無理な
ら他も無理?(
" (TravisCIを除いて)CI系サービスの初期から真
面目にビジネス・開発しているため先行(
40
[Confidential] © 2013 Actcat, Inc.
まじめにユースケース別おすすめ 2/2
! BitBucket使ってます(/(無料で使いたい(
" Shippableがおすすめ。無料プランもある
し、年額プランも格安(
! CIをオレ色に染めて広めていきたい(
" WerckerのStepやBoxを作って公開してい
くのがおすすめ。利用料も無料(
! TravisCI以外ではBuild出来ないプロジェク
ト(
" TravisCIしかないよね!Or(Jenkins
41
[Confidential] © 2013 Actcat, Inc. 42
EVERYTHING
[Confidential] © 2013 Actcat, Inc.
なんでも出来る系CIは Jenkins 最強
他の追従を許さない歴史の積み重ね
! Jenkinsをホスティングして使いましょ!(
! さくらのVPSでもAWSでもどこでもOK(
ローカルサーバでもOK(
! JenkinsをEnterprise(useでホスティングなら
CloudBeesをご利用下さい(
" 使ったこと無いので、誰かレポ教えてく
ださい!Consumer向けはたぶん無いです
43
[Confidential] © 2013 Actcat, Inc.
Jenkins x etc = CI
! Jenkinsを使った継続的デリバリソフトウェア
が結構ありました(
! Jenkins単体でも十分デリバリ出来ますが、設
定が面倒だったりする場合にいいかも?(ブ
ログにてリンク紹介)(
! SideCIもJenkinsを使ってテスト&デリバリ用
のDocker(ImageのBuildやdeployを行ってます
44
[Confidential] © 2013 Actcat, Inc. 45
SPECIALIZATION
[Confidential] © 2013 Actcat, Inc.
Specialization
! テストだけがCIじゃない!(
! ソフトウェアを改善する継続的な取り組
みのためのソフト、サービスはたくさん(
" Vaddyさんも広義ではCIツールかなと(
" 私たちのSideCIもCIツール(
" RubyだとHoundCIとかも
46
[Confidential] © 2013 Actcat, Inc. 47
SIDECI
[Confidential] © 2013 Actcat, Inc.
What is SideCI?
Integration:((
Open(Source(Software(
( (+(Docker(
( ( (+(GitHub((
>(
Automated(Code(Review(
and(
(Test(and(Delivery(
48
[Confidential] © 2013 Actcat, Inc.
How does it works?
49
hook
[Confidential] © 2013 Actcat, Inc. 50
コードを共有のファイル置き場、(
GitHub に保存すると(
[Confidential] © 2013 Actcat, Inc. 51
ソース(
コード 解析
SideCIが自動で 解析を開始(
今回の変更により発生した問題点を検出(
[Confidential] © 2013 Actcat, Inc. 52
SideCI管理画面上で解析結果を確認。(
新たに発生した問題や、継続中の問題を確認可能(
[Confidential] © 2013 Actcat, Inc. 53
問題のあるコード、箇所、内容、修正方法等を(
SideCI上で一括確認。(例:(Brakemanの実行結果(
[Confidential] © 2013 Actcat, Inc.
! 問題が検出されたコード(
" User.first(:conditions(=>(“(
username(=(#{params[:username]}’”))(
! コードに含まれる問題(
" SQLインジェクション攻撃が可能(
! 表示される解説(
" インジェクション攻撃は脅威度第1位(
(オープンWebアプリケーションセキュリティプロジェク
ト2010)(
" データの流出や削除、書き換えが可能(
" 解決策の掲示(Before1>After例)(
54
[Confidential] © 2013 Actcat, Inc. 55
GitHub上にSideCIがインラインコメント(
プログラムとコラボした開発が出来る(
[Confidential] © 2013 Actcat, Inc. 56
様々なツールをワンクリックで開発フローに導入、
継続的にコードを改善していける(
[Confidential] © 2013 Actcat, Inc.
Jenkinsなどを使っている方に朗報!
57
Test(and(Deployの結果画面はこんな感じ(
[Confidential] © 2013 Actcat, Inc. 58
GitHub上でテストステータスを確認出来るので、
安心してマージ出来ます(
[Confidential] © 2013 Actcat, Inc.
Features / OpenSourceSoftwares
! Automated(Code(Review(
" RailsBestPractice,(Bundler(outdated,(
Brakeman,(Rubocop,(reek(
" PHP_CodeSniffer(
" JSHint,(CoffeeLint(
! Test(and(Delivery(
" Rspec,(Capistrano,(shell(
59
[Confidential] © 2013 Actcat, Inc.
Our Customers
GitHub(+(Railsな開発体制のプロジェクトで(
ご利用頂いております(
(
! Active(50(Projects(per(week(
! Over(1000(Comments(per(week(
60
[Confidential] © 2013 Actcat, Inc.
1クリックで
ソフトウェア開発を
より早くより 品質に
61
[Confidential] © 2013 Actcat, Inc. 62
https://www.sideci.com/(

CIツールのまとめとSide CI - CIツール勉強会@福岡

  • 1.
    [Confidential] © 2013Actcat, Inc. 1 CIサービスを3ジャンルに分けて考察。 Test and Delivery, Everything, Specialization β
  • 2.
    [Confidential] © 2013Actcat, Inc. CIサービス 3ジャンル 1.  Build,(Test(and(Delivery( "  テスト(&(デプロイ専用CI( "  =>(今回は主にココをまとめました( 2.  Everything( "  継続的インテグレーション全てに使える( 3.  Specialization( "  一部に特化したCI( (テスト(&(デプロイ専用を除く) 6
  • 3.
    [Confidential] © 2013Actcat, Inc. 7 BUILD, TEST AND DELIVERY
  • 4.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery ! ソフトウェアのビルド・テスト・デプロ イに特化したCI(SaaS(/(Software( ! CircleCI,(TravisCI,(Wercker,(Drone.ioなど( ! Jenkinsは元々はBuild専用だったが、その 名の通り執事のごとく、何でもこなして くれるようになったので、Jenkinsは Everythingジャンルの長にジャンル分け 8
  • 5.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery ビルド・テスト・デプロイ向け CIを今回の勉強会にあたって( 総まとめしてみました! 9
  • 6.
    [Confidential] © 2013Actcat, Inc. 10
  • 7.
    [Confidential] © 2013Actcat, Inc. 11
  • 8.
    [Confidential] © 2013Actcat, Inc. 12
  • 9.
    [Confidential] © 2013Actcat, Inc. 13
  • 10.
    [Confidential] © 2013Actcat, Inc. 14
  • 11.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery 中略 15
  • 12.
    [Confidential] © 2013Actcat, Inc. 16
  • 13.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery 中略 17
  • 14.
    [Confidential] © 2013Actcat, Inc. 18
  • 15.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery 続きはwebで!( http://sideci.hatenablog.com/ entry/2015/03/13/144948 19
  • 16.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery 調査結果 ! SaaS型CIサービス(13個( " CircleCIをはじめ「いわゆるCI系SaaS」( ! OSSのCIツール(7個( " Drone.io含む(Travis含まず)( ! SaaS型 特化型CIサービス(5個( " iOS,(Android専用など 20
  • 17.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery TOP10 1.  TravisCI( 2.  CODESHIP( 3.  JenkinsCI( 4.  CircleCI( 5.  Wercker( 6.  Shippable( 7.  Drone.io( 8.  TeamCity( 9.  Buildkite( 10. MagunumCI 21 Leanstack.ioというサイトによる人気順(
  • 18.
    [Confidential] © 2013Actcat, Inc. Build, Test and Delivery Pickup 1.  TravisCI( 2.  CODESHIP( 3.  JenkinsCI( 4.  CircleCI( 5.  Wercker( 6.  Shippable( 7.  Drone.io( 8.  TeamCity( 9.  Buildkite( 10. MagunumCI 22 5個をピックアップ(
  • 19.
    [Confidential] © 2013Actcat, Inc. ユーザ数最大、OSS系CIの長、最古参 TravisCI 23
  • 20.
    [Confidential] © 2013Actcat, Inc. TravisCIの特徴 ! OSSのソフトウェアが半端ない数が TravisCI.orgでBuildされている( ! OSSを軸に発展したため、複数のプログラミ ング言語のバージョンでBuildするなど、他の CIサービスにはない多機能性( ! バックエンドはLXCではなくVM( " LXCなどない時代から存在しているため( " Objective1CのBuildのみMac(OS(X 24
  • 21.
    [Confidential] © 2013Actcat, Inc. 料金はちょっとお高め 25
  • 22.
    [Confidential] © 2013Actcat, Inc. CODESHIP 26
  • 23.
    [Confidential] © 2013Actcat, Inc. CODESHIPの特徴 ! GitHub,(BitBucketの両対応( ! Build,(Test,(Delivery,(Notification( " 割りと普通?CIの一般的な感じ( " SSHでログインしてBuildログを見るなど 可( ! パラレル稼働で高速なBuild・Testが可能 27
  • 24.
    [Confidential] © 2013Actcat, Inc. 料金 無料プランあり。有料は$49/month 28
  • 25.
    [Confidential] © 2013Actcat, Inc. CircleCI 29
  • 26.
    [Confidential] © 2013Actcat, Inc. CircleCIの特徴 ! GitHubのみ対応( " BitBucketはサポートしない( ! Build,(Test,(Delivery,(Notification( " 割りと普通?CIの一般的な感じ( " SSHでログインしてBuildログを見るなど 可( ! パラレル稼働で高速なBuild・Testが可能 ! 内部はLXC。DockerをLXC上で動かすこと も可 30
  • 27.
    [Confidential] © 2013Actcat, Inc. 料金 無料プランあり。有料は$49/month 31
  • 28.
    [Confidential] © 2013Actcat, Inc. 人気第五位? Wercker 32
  • 29.
    [Confidential] © 2013Actcat, Inc. Werckerの特徴 ! GitHub,(BitBucketの両対応( ! Build,(Test,(Delivery,(Notification( " 割りと普通?CIの一般的な感じ( ! Step,(Boxという物をユーザ間で共有しあ えるのが最も大きな特徴( " 「HipChatに通知するStep」などがユーザ によって公開されている 33
  • 30.
    [Confidential] © 2013Actcat, Inc. 料金 ベータ期間中は完全無料と太っ腹 34
  • 31.
    [Confidential] © 2013Actcat, Inc. 人気第六位? Shippable 35
  • 32.
    [Confidential] © 2013Actcat, Inc. Shippableの特徴 ! GitHub,(BitBucketの両対応( ! Build,(Test,(Delivery,(Notification( " 割りと普通?CIの一般的な感じ( " 当初はCircleCIより4倍早い、といたこと がLPに記載されていたが、今は記載され ていない( 36
  • 33.
    [Confidential] © 2013Actcat, Inc. 料金 無料プランあり。有料プランも 年額 $12 37
  • 34.
    [Confidential] © 2013Actcat, Inc. PaaS(for(Testingは( CircleCI一択でしょ( ( 僕はキメ顔でそう言った 38
  • 35.
    [Confidential] © 2013Actcat, Inc. だってCircleCIが一番金持ち何だもん! と、思ってたら、いつの間にかShippable... 39 0( 2000000( 4000000( 6000000( 8000000( 10000000( 12000000( CircleCI( CODESHIP( Shippable( Drone.io( Wercker( 12億円( 調達済
  • 36.
    [Confidential] © 2013Actcat, Inc. まじめにユースケース別おすすめ 1/2 ! テストがたくさんある・時間がかかる( " テストのパラレル実行に力を入れている CircleCIがおすすめ。お金さえ払えばどんど ん早くなる( ! Docker(Containerをデプロイしたりなどの最先 端構成( " CircleCIが現状最も多機能。CircleCIが無理な ら他も無理?( " (TravisCIを除いて)CI系サービスの初期から真 面目にビジネス・開発しているため先行( 40
  • 37.
    [Confidential] © 2013Actcat, Inc. まじめにユースケース別おすすめ 2/2 ! BitBucket使ってます(/(無料で使いたい( " Shippableがおすすめ。無料プランもある し、年額プランも格安( ! CIをオレ色に染めて広めていきたい( " WerckerのStepやBoxを作って公開してい くのがおすすめ。利用料も無料( ! TravisCI以外ではBuild出来ないプロジェク ト( " TravisCIしかないよね!Or(Jenkins 41
  • 38.
    [Confidential] © 2013Actcat, Inc. 42 EVERYTHING
  • 39.
    [Confidential] © 2013Actcat, Inc. なんでも出来る系CIは Jenkins 最強 他の追従を許さない歴史の積み重ね ! Jenkinsをホスティングして使いましょ!( ! さくらのVPSでもAWSでもどこでもOK( ローカルサーバでもOK( ! JenkinsをEnterprise(useでホスティングなら CloudBeesをご利用下さい( " 使ったこと無いので、誰かレポ教えてく ださい!Consumer向けはたぶん無いです 43
  • 40.
    [Confidential] © 2013Actcat, Inc. Jenkins x etc = CI ! Jenkinsを使った継続的デリバリソフトウェア が結構ありました( ! Jenkins単体でも十分デリバリ出来ますが、設 定が面倒だったりする場合にいいかも?(ブ ログにてリンク紹介)( ! SideCIもJenkinsを使ってテスト&デリバリ用 のDocker(ImageのBuildやdeployを行ってます 44
  • 41.
    [Confidential] © 2013Actcat, Inc. 45 SPECIALIZATION
  • 42.
    [Confidential] © 2013Actcat, Inc. Specialization ! テストだけがCIじゃない!( ! ソフトウェアを改善する継続的な取り組 みのためのソフト、サービスはたくさん( " Vaddyさんも広義ではCIツールかなと( " 私たちのSideCIもCIツール( " RubyだとHoundCIとかも 46
  • 43.
    [Confidential] © 2013Actcat, Inc. 47 SIDECI
  • 44.
    [Confidential] © 2013Actcat, Inc. What is SideCI? Integration:(( Open(Source(Software( ( (+(Docker( ( ( (+(GitHub(( >( Automated(Code(Review( and( (Test(and(Delivery( 48
  • 45.
    [Confidential] © 2013Actcat, Inc. How does it works? 49 hook
  • 46.
    [Confidential] © 2013Actcat, Inc. 50 コードを共有のファイル置き場、( GitHub に保存すると(
  • 47.
    [Confidential] © 2013Actcat, Inc. 51 ソース( コード 解析 SideCIが自動で 解析を開始( 今回の変更により発生した問題点を検出(
  • 48.
    [Confidential] © 2013Actcat, Inc. 52 SideCI管理画面上で解析結果を確認。( 新たに発生した問題や、継続中の問題を確認可能(
  • 49.
    [Confidential] © 2013Actcat, Inc. 53 問題のあるコード、箇所、内容、修正方法等を( SideCI上で一括確認。(例:(Brakemanの実行結果(
  • 50.
    [Confidential] © 2013Actcat, Inc. ! 問題が検出されたコード( " User.first(:conditions(=>(“( username(=(#{params[:username]}’”))( ! コードに含まれる問題( " SQLインジェクション攻撃が可能( ! 表示される解説( " インジェクション攻撃は脅威度第1位( (オープンWebアプリケーションセキュリティプロジェク ト2010)( " データの流出や削除、書き換えが可能( " 解決策の掲示(Before1>After例)( 54
  • 51.
    [Confidential] © 2013Actcat, Inc. 55 GitHub上にSideCIがインラインコメント( プログラムとコラボした開発が出来る(
  • 52.
    [Confidential] © 2013Actcat, Inc. 56 様々なツールをワンクリックで開発フローに導入、 継続的にコードを改善していける(
  • 53.
    [Confidential] © 2013Actcat, Inc. Jenkinsなどを使っている方に朗報! 57 Test(and(Deployの結果画面はこんな感じ(
  • 54.
    [Confidential] © 2013Actcat, Inc. 58 GitHub上でテストステータスを確認出来るので、 安心してマージ出来ます(
  • 55.
    [Confidential] © 2013Actcat, Inc. Features / OpenSourceSoftwares ! Automated(Code(Review( " RailsBestPractice,(Bundler(outdated,( Brakeman,(Rubocop,(reek( " PHP_CodeSniffer( " JSHint,(CoffeeLint( ! Test(and(Delivery( " Rspec,(Capistrano,(shell( 59
  • 56.
    [Confidential] © 2013Actcat, Inc. Our Customers GitHub(+(Railsな開発体制のプロジェクトで( ご利用頂いております( ( ! Active(50(Projects(per(week( ! Over(1000(Comments(per(week( 60
  • 57.
    [Confidential] © 2013Actcat, Inc. 1クリックで ソフトウェア開発を より早くより 品質に 61
  • 58.
    [Confidential] © 2013Actcat, Inc. 62 https://www.sideci.com/(