Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hosted CI 大全 〜全 11 種の CI を実際に使って導き出された結論〜
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Pine Mizune
August 18, 2015
Programming
330
1
Share
Hosted CI 大全 〜全 11 種の CI を実際に使って導き出された結論〜
社内技術勉強会で発表した資料
Pine Mizune
August 18, 2015
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
860
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.9k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
690
Lerna による明示的疎結合アーキテクチャ
pine
1
670
CircleCI 2.0 x JavaScript
pine
3
570
Perl 卒業式
pine
0
370
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
520
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
ドメインイベントでビジネスロジックを解きほぐす #phpcon_odawara
kajitack
3
760
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
330
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
170
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
790
飯MCP
yusukebe
0
510
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
190
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
150
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
140
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
270
Liberating Ruby's Parser from Lexer Hacks
ydah
2
720
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.2k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
180
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
110
Design in an AI World
tapps
0
190
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Designing for humans not robots
tammielis
254
26k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
770
Transcript
Hosted CI 大全 Travis CI / Circle CI / AppVeyor
/ Wercker Shippable / Codeship / Semaphore Drone.io / Magnum CI / Snap CI / Vexor 水音ぴね
Hosted CI 大全 1. 発表の目的 2. CI とは ? 3.
紹介する CI のカバー範囲 4. 特筆すべき CI 紹介 5. Perl x CI 事情 6. まとめ 2
発表の目的 • 「 CI ? Jenkins のこと ? 」 ←
会社でしか CI を使わない人 • 「 Travis でよくね ? 」 ← 思考停止の人 ターゲット層 伝えたいこと • CI は星の数ほどある、not only Jenkins • 目的に応じて CI を選ぼう 3
CI とは ? • CI ... Continuous Integration – 日本語:
継続的インテグレーション • 主にプログラマーのアプリケーション作成時の 品質改善 や 納期の短縮 のための習慣のこと • 狭義には ビルド や テスト、インスペクション など を継続的に実行していくことを意味する 参照: Wikipedia 『継続的インテグレーション』 4
紹介する CI のカバー範囲 5 自動ビルド・テスト 分析・レビュー ク ラ ウ ド
自 前 ホ ス ト ドキュメント perldoc RDoc
Hosted な CI 一覧 • Travis CI • Circle CI
• AppVeyor • Wercker • Shippable • Codeship 6 • Semaphore • Drone.io • Magnum CI • Snap CI • Vexor ※ 多いので全部は解説しません ※ 特に聞きたいモノがあれば質疑応答で
特筆すべき CI 紹介 • Travis CI • Circle CI
7 • AppVeyor • Wercker
Travis CI 8 • OSS 向けの老舗 CI – Travis CI
が無ければ、今の Web は無いレベル – 代表プロジェクト: jQuery, Ruby on Rails, Amon2, etc ... • 特徴 – 豊富な実績・ノウハウ – Linux / Mac OS X 両対応 – Build Matrix が組める – 有料版 高し (月 $129~)
Circle CI 9 • エンタープライズ向け CI – 日本企業でも比較的採用事例が多い – 「
ライブラリ 」ではなく「 製品 」のビルドに向いている • 特徴 – ロゴと挙動がかわいい – コンテナ型 CI としては老舗 – 早くて高機能 – 安い (企業向け 月 $0~)
AppVeyor 10 • Windows を採用した唯一の CI – Windows VM でビルドを実行
– .NET 系プロジェクトのビルドに特に向く • 特徴 – Windows VM 採用 – 遅いし重いし遅すぎる – クラウド型では対抗馬が居ない – 安い (企業向け 月 $19~)
Wercker 11 • Docker ベースの期待の新星 – 指定した Docker イメージでビルド –
完全に手元と同じ環境でテストが可能 • 特徴 – Docker を全面に推した CI – 早い、軽い、拡張性が高い – 長期 β テスト中 (企業向け無料) – 今後の継続性に懸念あり
Perl x Hosted CI 事情 12 • 公式サポート言語に含まれない事が多い – perlbrew
/ plenv を使い自分でインストール – cpanm / Carton で依存モジュール解決 • キャッシュで高速化が可能 – plenv ごとキャッシュに入れると良い – Carton のインストール先は環境変数で切り替え • ライブラリ開発なら Travis CI 一択
[Perl x Hosted CI 事情] 標準サポート言語一覧 13 Travis CI
Circle CI App Veyor Wercker Ship pable Code ship Sema phore Drone Magnum CI Snap CI Vexor Perl ◦ ◦ Ruby ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Python ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ PHP ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Node ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Java ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Scala ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Go ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦
まとめ • CI は星の数ほどある – not only Jenkis • 目的に合わせて
CI を選ぼう – その選択で、目的は達成されますか ? • テストだけが CI じゃない 14
Fin.