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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
870
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
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
400
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
890
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
650
TypeSpec で繋ぐ複数プロダクトの型安全
maroon8021
1
210
Firefoxにコントリビューションして得られた学び
ken7253
2
170
サプライチェーン攻撃対策「層を重ねて落ちない壁」を10日間で組み上げた話 #TechLeadConf2026
kashewnuts
1
330
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
120
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
160
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
4
550
継続的な負荷検証を目指して
pyama86
3
1.5k
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
130
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.9k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Mind Mapping
helmedeiros
PRO
1
200
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
KATA
mclloyd
PRO
35
15k
Chasing Engaging Ingredients in Design
codingconduct
0
190
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
HDC tutorial
michielstock
2
670
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Why Our Code Smells
bkeepers
PRO
340
58k
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.