Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Hosted CI 大全 〜全 11 種の CI を実際に使って導き出された結論〜
Pine Mizune
August 18, 2015
Programming
1
310
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
380
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
820
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
420
Lerna による明示的疎結合アーキテクチャ
pine
1
520
CircleCI 2.0 x JavaScript
pine
3
460
Perl 卒業式
pine
0
270
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
380
Emoji Generator meets Browser Extensions
pine
1
2.7k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.4k
Other Decks in Programming
See All in Programming
Nix for Scala folks
kubukoz
0
130
TextPruner による大規模言語モデルの軽量化 / Large language model pruning using TextPruner
misawann
0
320
[RailsConf 2022] The pitfalls of realtime-ification
palkan
0
240
roadmap to rust 2024
matsu7874
1
890
Enterprise Angular: Frontend Moduliths with Nx and Standalone Components @jax2022
manfredsteyer
PRO
0
310
Viteはいいぞ/Vite is Good
dojineko
1
110
Microsoft Teams の 会議アプリ開発のはじめかた / How to start Microsoft Teams app development
karamem0
0
1.7k
Kotlin KSP - Intro
taehwandev
1
500
Airflow1=>Airflow2へのupgrade 事例紹介
reizist
0
120
Micro Frontends with Module Federation: Beyond the Basics @jax2022
manfredsteyer
PRO
1
290
競プロへの誘 -いざな-
u76ner
0
380
職場にPythonistaを増やす方法
soogie
0
320
Featured
See All Featured
Building Applications with DynamoDB
mza
83
4.6k
How GitHub (no longer) Works
holman
296
140k
Done Done
chrislema
174
14k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
920
Clear Off the Table
cherdarchuk
79
280k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
37
3.2k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
GraphQLとの向き合い方2022年版
quramy
16
8.1k
Three Pipe Problems
jasonvnalue
89
8.6k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.1k
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.