Kanazawa.rb meetup #45 に参加してきた。
最初に感想
- あらためて、CIとはなんのためにやっていたのか、を再認識出来た。
- 様々なCIサービスがざっくり紹介されたので、あとで調べる。
- CircleCIとGitHubの連携はやっぱり便利。ハンズオンの時間が余るぐらい簡単。
- 内容は知ってることが多かったけど、DMMのオフィス綺麗だったし、いろんな人と関われて良かった。
- Gitの運用を悩んでるところは多いんだなー。
- LTっぽいものしたけど、スライド無くてもなんとか喋れた。内容はほとんど伝わってないだろうけど、キーワードでも刺さってればいいな。あとQiitaのストック増えてよかった。
- 飲み会で飲めないのはまだなんとかなるけど、酒のうまそうなバーに行って酒が飲めないのはつらいw
イントロ
https://www.thoughtworks.com/continuous-integration
- CIとは、ビッグバンテストではなく、継続的に結合する。
- 3ヶ月前に書いたものは覚えてない。
- 問題を速く発見する。
俺とCI
- むかしむかし、「ビルド担当者」というものがいた。
- ソースコード集め→マージ
- ビルド担当者が槍玉に上がる(自分のところでは動くけど、マージされたら動かないとか)
- そもそも、人間がやることが間違い。
- Jenkinsとの出会い。
- 時は流れ、ビルド担当者→デプロイ担当者
- DepOpsという単語が出てきた。
- 日経メディアで、Jenkins Redmine Chefが三種の神器とか言われた。
- iOSとかで、またビルド担当者が出てきたらしい。
- さまざまなモチベがあり、それの導入を容易にするために様々なツールが出てきている。
CIサービス紹介
https://speakerdeck.com/wtnabe/introducing-todays-ci-services
- 基本的にはSaaSで使えるもの。
- 基準:メジャー、OSS版がある、Windowsとか、おまけ
- TravisCI
- CircleCI
- CodeShip
- GitHub / Bitbucket
- Shippable
- 安い
- 設定がちょっと煩雑
- Drone.io
- BITRISE
- モバイルアプリに特化
- AppVeyor CI
- ブラウザテスト
- SAUCELABS
- SeleniumテストとUnitテスト
- 手元のバージョンをリモートからテストも出来る。
- BrowserStack
- 上と似た感じ。どっちが良いかはわからない。
- カバレッジ
- Coveralls
- Travis CI / CircleCI対応
- CODE CLIMATE
- 静的解析
- 選び方
- 金で解決
- 人的リソースは有限。
- 当たったサービス以外はそこまでリソースを割けない。
- CI環境そのものが腐っていく。
- 弊社の例
- CircleCI + Codeshipの無料枠