Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CircleCI の有料プランを導入するためにやったこと/What I did to intr...

bake0937
November 24, 2021

CircleCI の有料プランを導入するためにやったこと/What I did to introduce CircleCI's paid plan

【オンライン】【自動化何でもLT大会編】CircleCI コミュニティミートアップ での登壇資料です。
https://circleci.connpass.com/event/228801/

bake0937

November 24, 2021
Tweet

More Decks by bake0937

Other Decks in Technology

Transcript

  1. 背景 • CI/CDとして CircleCI を利用している • プランは Free (2021年4月当時) ◦

    週に 2,500 分のビルドが可能 ◦ iOSのビルドは不可 CI/CDとは? ※継続的インテグレーションと継続的デリバリーまたは継続的デプロイ のいずれかを組み合わせたプラクティスを指す。 CI / CDは、アプリケーションの構築、テスト、および展開の自動化を実施することにより、開発および 運用アクティビティとチームの間のギャップを埋める。 ※引用: CI/CD(Wikipedia)
  2. 導入までにやったこと 1. 実現したいことの整理 2. チーム内で合意を得る a. CI/CDサービスの調査 b. CircleCI Japan

    とのMTG c. GitHub リポジトリの調査 d. その他調査したこと e. チームへ提案する 3. 部内で合意を得る(稟議に相当するもの) a. 上長に軽く相談 b. 部内向けの提案資料を作成 c. 部内で提案・申請する 4. 有料プランを申し込む ※実際の部内のルール(進め方)・資料の内容は本ミートアップ用に一部変更しております
  3. CircleCI Japan とのMTG MTGで以下の内容を確認・質問をした • Freeプランと有料プランの違い ◦ ビルド時間 ◦ ビルドできるOSの種類

    ◦ 利用できるコンピュートエンジンの違い • 有料プランの種類 ◦ Performanceプラン(従量課金) ◦ Performanceプラン(年間プラン) ▪ 年間1千万クレジット(使用量)が利用できる ▪ $6,000/年 • 他に質問した内容 ◦ 「クレジット」・「アクティブユーザー」の定義の確認 ◦ 直接の契約と代理店経由での契約の違い ◦ 1アクティブユーザあたりの消費クレジット数の確認
  4. • CircleCIでの想定される消費クレジット数などを見積もるために GtiHub オーガニゼーションで主 に以下を確認 ◦ リポジトリ数や直近のコントリビューター数 ◦ CircleCI を設定しているリポジトリ数

    ◦ GitHub API(octokit.rb を利用)利用し、リポジトリ数や利用している言語や設定ファイルの 利用状況を確認 • わかったことはスプレッドシートにメモし、グラフを作成 (以下は例) 利用プログラミング言語・ファイルの割合 GitHub リポジトリの調査 ・ ・ ・ グラフ化
  5. CI/CDサービスを選定 調査したことに加え、下記の観点でCI/CDサービスは CircleCI に決定 • 主に(現時点での)開発で利用する言語・ファイルのビルドの時間 ◦ Node.js, yml, Python

    • ダッシュボード機能がある ◦ 各リポジトリのデプロイ・リリース状況を把握できる • CircleCI の経験者の割合が多い • 社内のデプロイツールを有効活用できる
  6. さらに リポジトリ(35個) 期待できる年間でのリリース作業の削減時間 35リポジトリ × 220 分 × 12ヶ月 =

    92400分 / 60分 =年間1540時間の削減 ※リポジトリ数は5(CircleCI を設定済みのリポジトリ数 ) + 6(「今後設定予定」及び「設定の検討予定」のリポジトリ数の合計 ) + 24 リポジトリ(1 年間で増えると想定したリポジトリ数 ) で計算。
  7. 所感・今後 所感 • サービスやツールを導入するのは大変! ◦ 部内向け資料は「何をすれば良いのかがわからない」からのスタートだった • 「数字」にすると色々なことがわかってくる ◦ 収益、作業時間、リードタイム、工数など様々

    ◦ 自分なりの考え方で良いので「数字」に落とし込んでみる ◦ 「辛い」・「楽」などの主観的な情報ではなく客観的な情報になる ◦ 新たな提案手法が身に付いた • エンジニアに関わらず「数字」に落とし込む力をもっと上げていきたい ◦ どのように皆さんが数字にする力訓練・学習しているか知りたくなった 今後 • CircleCI の利用リポジトリの拡大