nikkie-ftnextの日記

イベントレポートや読書メモを発信

イベントレポート | 【サポーターズCoLab勉強会】Circle CI 入門 #サポーターズ

はじめに

だんないよ、nikkieです。
手動テスト中心の社風に辟易しているので、
CI入れたら業務楽になるのかなと「Circle CI 入門」に話聞きにいってきました。

 

勉強会の概要

イベント概要

最近CI環境をとりいれている企業も増えてきていると思います。

GitHub / BitBucketのPUSHに反応して、色々出来るやつです。

TravisCI,Jenkins,CircleCI・・・などたくさんあるCIサービスの中から今回は

CircleCIを重点的にお話します。

こんな方にオススメ

  • CIをやってみたいけど、やったことない方

  • テストコードやったことないけどやってみたい方

  • そもそもCIって何おいしいのって方

 

資料

スライド

speakerdeck.com

以下、勉強会中のメモをもとに書いていきます。
 

CIとは?

XP

 

Circle CIとは

  • CIを行う環境を提供するSaaS
  • できること:GitHubやBitbucketとの連携、自動テスト、通知、自動デプロイ
  • 料金は月1500分まで無料。(無料枠は1コンテナのみなので並列に実行できない)

 

サンプルコード解説

  • CircleCI設定ファイル:.circleci/config.yml
  • jobの中で行うコマンドを書いていく
    例:ソースコード取得→Dockerコンテナ立てる
    →DB用意する→テスト実行→結果を表示

 

他のCIツール

  • Jenkins CIのデファクトスタンダードと言えそう。
    インストールして使う。最近はSaaS版も出た
  • TravisCI
    プライペートリポジトリ版が有料(割高)
    OSSで使われていることが多い(設定ファイル参考にできる)

 

CI構築するときに考えること

  • CIツールはなんでもできるので、どのくらいで始めるかが重要
  • 目的・どういうことをやるかを考える(lintにとどめるのか、単体テストまでやるのか)
  • バージョン管理システムによってどのCIツールを使うかが決まってくる
  • CIを動かす粒度を考える
  • CIを設定するコストメリットを考える
    テストが書かれていないコードにCIを導入するのは大変
    一番簡単なのはlinterを入れること。
    次のステップが単体テストのコードを書いて導入。テストを書いたことがないならテストを書くのに慣れることを目指す。

 

CircleCIまとめ

  • Dockerでやるから環境依存解決楽
  • SaaSだからインフラ維持コスト少ない(CircleCIの裏はAWSらしい)
  • CIを回すと便利だが、導入は少しずつ理解を得ていく

 

感想

PythonではDjangoとFlaskのサンプルが公式ドキュメントに用意されているので
触ってどんなものなのかを体験しないといけないですね。(分かった気で終わらせてはいけない)

Language Guide: Python - CircleCI

CircleCIにはDockerの知識がどの程度いるのか気になります。(つかむためにも触らないと)
講師の木村さんは2017年末にDocker勉強会の講師もされていたので、
Docker使えるとエンジニアとしてできることが違うんだろうなと感じさせます。
私、Dockerが使えるエンジニアになりたい。

CIのC(継続的)はわかるけどI(インテグレーション)ってなんだってところが実はスタートでした。
予習につまみ食いした『チーム開発実践入門』でおぼろげながらつかめました。
(読まないでいったらちんぷんかんぷんだったかも。。)

https://www.amazon.co.jp/dp/4774164283

 

講師の木村さん、そして運営・出席者の皆さま、
貴重なお話とそれを聞く機会をありがとうございました。