一人前エンジニア道場

インフラ・運用 / 約20分

CI/CDの基礎

なぜこれを学ぶか

「手動でビルドしてサーバーにアップロード」という運用は、ミスと属人化の温床です。CI/CDはその手間と危険を仕組みで解決します。

CI(Continuous Integration) は、コードをpushするたびに自動でビルド・テストを実行する仕組みです。この道場自体の実装作業でも npm run build や tsc --noEmit を都度実行しているのと同じ発想です。

CD(Continuous Delivery/Deployment) は、テストを通過したコードを自動的に本番環境へデプロイする仕組みです。

典型的なパイプラインの流れ: ①コードをpush → ②CIが自動テスト実行 → ③テスト通過でビルド → ④CDが自動デプロイ。人手の介在を最小限にします。

CI/CDは トイル削減 の代表例です。手動デプロイは「毎回同じ手順を人間が繰り返す」典型的なトイルであり、自動化によって時間の節約だけでなく、手順のミス(打ち忘れ・打ち間違い)も防げます。

重要ポイント

  • CI=push毎の自動テスト、CD=自動デプロイ
  • パイプラインは push→テスト→ビルド→デプロイの流れ
  • CI/CDはトイル削減とヒューマンエラー防止の代表例

コードレビュー演習

あるチームのリリース手順です。新機能をリリースするたびに、この手順を手動で実行しています。

1. 開発者がSlackで「デプロイします」と宣言
2. 本番サーバーにSSHでログイン
3. git pull で最新コードを取得
4. npm install を手動実行
5. npm run build を手動実行
6. サーバープロセスを手動で再起動

この運用の最も大きな問題点は?

ヒントを見る

「毎回人間が同じ手順を繰り返す」ことで起きやすい問題は何でしょうか。手順の一部を飛ばしてしまったら、あるいは担当者が不在だったらどうなるか考えてみましょう。

スキルセルフチェック

このレッスンの内容をどの程度理解できましたか?