Upload
koichiro-sumi
View
2.455
Download
8
Embed Size (px)
Citation preview
[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/(