omuronの備忘録

個人的な備忘録

「はじめての CircleCI」 #CircleCIJP 受講メモ

「はじめての CircleCI」のオンラインセミナーを受講の備忘録です。
受講後、資料は公開されたけど受講者向けのみかな...

はじめての CircleCI

Why CI/CD

CI

全てのコミットを積み重ねてそれをトリガーにしてビルドとテストを繰り返すこと。
チームの生産性・効率・満足度をあげるため。

CD

継続的デリバリー:常にリリース可能な状態を維持すること。
継続的デプロイメント:リリース作業に人間の意思が介在しない。

まずは、デリバリーを目指す。

エンジニアリングの効率化に欠かせない5つの指標

  1. Commit to Deploy Time :コミットからデプロイまでの時間
  2. Build Time :ビルド時間
  3. Quere Time :ビルド開始までの時間
  4. How often Master is Red :Master ブランチが壊れている時間
  5. Engineering Overhead :ツールメンテの時間

こちらも参考に

speakerdeck.com

「CircleCI 実践入門」という本も発売予定。

機能や特徴

  • マネージドサービス
  • 共通の yml ファイルによるテストの共通化
    • VCS に保存して履歴を同時に管理
  • Dockerサポート、高速起動
    • キャッシュ設定
  • SSH デバッグ機能
    • 最大2時間 Docker を残せる
  • パラレルジョブ、マルチコンテナ
    • 複数コンテナ同時実行で並列テスト
  • パイプラインでジョブ連結
  • Orbs
    • 設定の共有と再配布

QA

GitHub Actions との違い

如何に早く回すか、大人数でも回せるかなどが違い。 スペックの種類の多さ、同時実行数の多さなどでスピードに違いがでる。

一方、導入のしやすさは GitHub Actions にある。

CodeBuild との違い

Azure, GCP などにも CI/CD ツールがある。 そのクラウドにデプロイするための機能が多い。

マルチクラウド、マルチプラットホームへのデプロイは CircleCI がいい。

テスト結果のデータを使って次の改善を行うことができるのは CircleCI の特徴の一つ。 SSH ビルドも大きな特徴。スムーズに最初から最後まで動かすのは難しいので、早くデバッグできるのも大きな特徴。

所感

とりあえず「AWS ガッツリ」かつ「すでに Code シリーズで CI/CD パイプラインを構築済み」であれば、CircleCI に乗り換えるメリットは今の所ないかな...