Kanazawa.rb meetup #45 に参加してきた。

Meetup #45 - Kanazawarb

最初に感想

  • あらためて、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
    • OSSなら無料。
    • ssh接続可能
    • 古参で、perlとかもサポート
  • CircleCI
    • 1コンテナならprivateでも無料。
    • ssh接続可能
    • 権限管理はGitHubと同期
  • CodeShip
  • Shippable
    • 安い
    • 設定がちょっと煩雑
  • Drone.io
  • BITRISE
    • モバイルアプリに特化
  • AppVeyor CI
    • Windowsサポート
    • OSSならfree
    • RDP接続可能
  • ブラウザテスト
  • SAUCELABS
    • SeleniumテストとUnitテスト
    • 手元のバージョンをリモートからテストも出来る。
  • BrowserStack
    • 上と似た感じ。どっちが良いかはわからない。
  • カバレッジ
  • Coveralls
  • CODE CLIMATE
    • 静的解析
  • 選び方
    • 金で解決
    • 人的リソースは有限。
    • 当たったサービス以外はそこまでリソースを割けない。
    • CI環境そのものが腐っていく。
  • 弊社の例
    • CircleCI + Codeshipの無料枠