patorashのブログ

方向性はまだない

CircleCI ユーザーコミュニティミートアップにリモート参加した

3/5にあったCircleCIのミートアップにリモートで参加させてもらいました。

イベントのConnpassはこちら。

circleci.connpass.com

ちょうどCircleCIをPerformancePlanに移行したりしていたので、CircleCI Japanの方からZoomで参加しませんか?とtwitterのDMで連絡を頂きました。

patorash.hatenablog.com

せっかくの機会なので、参加させていただくことに。

この時に、社外の方も参加募集したのですが、悲しいことに集まらなかったので、社内のメンバー4人で参加しました。

皆同じような課題を抱えていた

弊社でもJenkinsでの並列テストを経た後にCircleCIの導入をしているので(1.0の頃から)、「あ〜、わかるわ〜」という感じでした。

うちのテスト事情の遷移

CI環境はCircleCIになるまではほぼ関与してないので、記憶で書く(間違ってるかも)

  1. ローカル環境でrspecをparallel_testsで実行する。テストが肥大化して30分くらいかかるようになって辛くなる。
  2. Jenkinsを導入。会社で空いていたMacでテストを実行するように。テストが肥大化して1時間くらいかかるようになる。
  3. Jenkinsで並列処理をするように。そのため、Mac miniを複数台購入した。テスト実行されると同時にbundle installが実行され、ネットワークが遅くなる等、問題が出始める。Mac miniの構成管理はChefとかでやってたはず。20〜40分くらいかかっていたかと思う。
  4. 並列数に限界を感じ、AWSで都度EC2を立ち上げてテストするように。スポットインスタンスが安いリージョンを探し求めていた。
  5. いろんなCIサービスを検討し始める。CircleCIのbundle installの速さがすごい!みたいなことで盛り上がっていた記憶がある。
  6. CircleCIへ移行!
  7. CircleCI 2.0に移行!(多分このあたりから自分がやった)
  8. CircleCIでparallel_testsを使う!
  9. CircleCI + parallel_tests + knapsack proで爆速化!
  10. CircleCIをPerformancePlanに移行!

高速化には色々と取り組みました。

patorash.hatenablog.com

patorash.hatenablog.com

課題を解決した後に入社した若者たち

今回の参加者は私以外は入社2年以内の若者が3名だったのだけれど、上記のような歴史を知らないので、

若者たち「Jenkinsってなに???🤔」

ってなっていたので、発表は聞きつつもCI導入の歴史を説明したりしました。まぁいい機会だったのかもしれないですねぇ。

リモート参加してみて…

現地はピザや飲み物があったりしたみたいで羨ましかったですが、実はこちらもピザを食べてました!

発表後のネットワーキングの時間とかはリモートだと参加できないので、やっはり現地がいいなぁと。まぁ岡山だとなかなか厳しいんですが。機会があったら現地参加したいと思います!