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

小さく始めるCICDとそのメリット

Avatar for WHIsaiyo WHIsaiyo
July 28, 2025
0

 小さく始めるCICDとそのメリット

7/3に開催した「CI/CDについて語る会」の資料です。
https://workshumanintelligence.connpass.com/event/359807/

萩⽥篤
Product Div Product DMO Dept
Engineering Manager

Avatar for WHIsaiyo

WHIsaiyo

July 28, 2025
Tweet

Transcript

  1. © 2025 Works Human Intelligence Co., Ltd. 2 ⾃⼰紹介 名前:萩⽥篤

    所属:Product Div Product DMO Dept 役割:Engineering Manager 好きなもの: • AWS、 スクラム • ⾮⽇常、ウイスキー(最近はジンが気になる) 最近の読書: • コンビニ⼈間 気になっていること: • 体脂肪率の増加
  2. © 2025 Works Human Intelligence Co., Ltd. 4 こんなことよくありませんか? しかし、この考え⽅には落とし⽳があります

    まずはアプリケーションを早く作りたい CI/CDを作りこむ時間なんてない CI/CDは後回しでヨシ!
  3. © 2025 Works Human Intelligence Co., Ltd. CI/CDを後回しにすることの落とし⽳ • テスト実⾏の技巧派化

    ◦ 特殊な環境設定や⼿順が必要になる • 外部依存の罠 ◦ 特定のサーバーや環境に依存した開発フロー ◦ ⾦の弾丸に頼りたくなる • デプロイ職⼈の誕⽣ ◦ 特定の⼈にしかデプロイできない状況 • ⾃動化負債の蓄積 ◦ 後から⾃動化するコストが増⼤ ◦ 導⼊時にCI/CDと実際のリソースの整合性をとる必要が出てくる 5
  4. © 2025 Works Human Intelligence Co., Ltd. CI/CDはプロジェクト初期から導⼊しよう • パイプラインをアプリケーションと共に段階的に成⻑させられる

    • 後から導⼊するよりも全体設計が整合的になる • 開発プロセスが最初から標準化される 8
  5. © 2025 Works Human Intelligence Co., Ltd. 最初はシンプルに始めよう • 完璧な⾃動化は必要ない

    • ⼿動で⾏っている操作を単純にスクリプト化するところから • 段階的に改善していく基盤を作る ◦ 0から作成するより1から成⻑させていく⽅がコントリビュートしやすい 10
  6. © 2025 Works Human Intelligence Co., Ltd. 早期導⼊のメリット • ⾃動化しやすい設計を最初から意識できる

    ◦ ⾃動化できない、頑張って⾃動化しているなというところに気が付ける • 改善のハードルが低い ◦ 「後回し」という誘惑に打ち勝てる ◦ 部分的にであればコントリビュートもしやすい • 初期投資の時間はかかるが、⻑期的なコストパフォーマンスは⾮常に⾼い ◦ チーム全体の開発効率が向上する ◦ 品質の⼀貫性が確保される ◦ ⼿作業によるオペレーションのミスを防⽌できる 11
  7. © 2025 Works Human Intelligence Co., Ltd. 早期導⼊のハードルは年々下がっている • ソースコードとCI/CDの距離が近くなっている(認知負荷が⼤幅に軽減)

    ◦ 過去:別サーバのJenkinsでGUIから設定して管理(遠い) ◦ 現在:同リポジトリのYAMLファイルで管理(近い) • API/CLIでのリソース操作 • サードパーティ製の⾃動化ツール等があり、エコシステムが整ってきている • ⽣成AIに投げれば良さげなものが返ってくる 12
  8. © 2025 Works Human Intelligence Co., Ltd. 導⼊の効果 • カルチャー形成

    ◦ こまめなデプロイを前提とした開発 ◦ 開発者⾃⾝がパイプラインに対してオーナーシップを持てる ◦ 品質⽔準の維持 • CI/CDの実⾏時間増⼤に早期に気づける • テスト戦略への貢献 ◦ テストの適切なサイズと構成を考える契機になる ◦ Flaky Test(不安定なテスト)の早期発⾒ 14
  9. © 2025 Works Human Intelligence Co., Ltd. 注意点 • シンプルに保つように意識する

    ◦ メンテナンス性を重視する ◦ 過度に複雑にせず、リポジトリの利⽤者が理解‧改善できるようにする ◦ シンプルは壊れにくい • ローカルとパイプラインで同じスクリプトを使うようにする ◦ 常に同じものを使うことで品質が向上する ◦ 環境差異に気が付ける • ゆくゆくはケアしないといけないところはある ◦ セキュリティ(最⼩権限の原則、サプライチェーン攻撃、マージ権限) ◦ 実⾏時間の短縮(並列化、最適化、同時実⾏の抑⽌) 15
  10. © 2025 Works Human Intelligence Co., Ltd. まとめ • プロジェクト初期のCI/CD構築ハードルは⼤きく下がっている

    • ⼩さく始めて継続的に改善することが成功の鍵 • シンプルを維持する 16