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
Pine Mizune
August 18, 2015
Programming
1
330
Hosted CI 大全 〜全 11 種の CI を実際に使って導き出された結論〜
社内技術勉強会で発表した資料
Pine Mizune
August 18, 2015
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
800
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.8k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
670
Lerna による明示的疎結合アーキテクチャ
pine
1
640
CircleCI 2.0 x JavaScript
pine
3
550
Perl 卒業式
pine
0
340
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
500
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
Cache Me If You Can
ryunen344
2
3k
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
480
OSS開発者という働き方
andpad
5
1.7k
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
290
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
740
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.9k
為你自己學 Python - 冷知識篇
eddie
1
350
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
Reading Rails 1.0 Source Code
okuramasafumi
0
250
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.6k
Facilitating Awesome Meetings
lara
55
6.5k
Faster Mobile Websites
deanohume
309
31k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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.