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
320
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
730
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.5k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
630
Lerna による明示的疎結合アーキテクチャ
pine
1
610
CircleCI 2.0 x JavaScript
pine
3
520
Perl 卒業式
pine
0
310
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
470
Emoji Generator meets Browser Extensions
pine
1
2.9k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
160
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.2k
Jakarta EE meets AI
ivargrimstad
0
280
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
2
130
nekko cloudにおけるProxmox VE利用事例
irumaru
3
460
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
340
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
970
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
140
Online-Dokumentation, die hilft: Strukturen, Prozesse, Tools
ahus1
0
100
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
130
Zoneless Testing
rainerhahnekamp
0
120
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
170
Building Flexible Design Systems
yeseniaperezcruz
327
38k
YesSQL, Process and Tooling at Scale
rocio
170
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
KATA
mclloyd
29
14k
Designing for humans not robots
tammielis
250
25k
Unsuck your backbone
ammeep
669
57k
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.