AI活用の教科書

CI/CD

CI/CDしーあいしーでぃー

ひとことで言うと

コードの変更を自動でテストして、問題なければ自動で公開まで届ける仕組みです。

📖 もうちょい詳しく

何が新しいの?

CI/CDは、プログラムの変更を「自動でテストし、自動で公開まで届ける」仕組みのことです。
昔は、コードを直したあとに手作業でテストを回し、手作業でサーバーへ配る、という流れが一般的でした。でもこのやり方は、確認のし忘れや手順のばらつきで事故が起きやすく、時間もかかります。そこで「面倒な確認と配信を機械に任せよう」という考え方が広まりました。

どうやって動いてるの?

CIは「Continuous Integration(継続的インテグレーション)」の略で、誰かがコードを直すたびに、自動でテストを回して問題がないかを確かめる部分です。
CDは「Continuous Delivery/Deployment(継続的デリバリー/デプロイ)」の略で、テストを通った変更を、本番の環境へ自動で配るところまでを指します。GitHub ActionsやGitLab CIといった専用ツールに「直したらこの手順を流す」と書いておくと、変更があるたびに同じ手順を自動でくり返してくれます。

何ができるの?

小さな変更でもこまめに、しかも安全に世の中へ届けられるようになります。
人の手による確認のし忘れが減り、もし不具合が見つかっても「どの変更で壊れたか」を早く特定できます。リリース作業そのものが軽くなるので、改善のサイクルを速く回せるのが大きな利点です。

🌱 身近なたとえ

工場のベルトコンベアで例えると、CI/CDは「検品と出荷を自動化したライン」です。
作った部品(コードの変更)をラインに乗せると、途中で自動の検品(テスト)がかかり、合格したものだけが箱詰めされて出荷(公開)まで進みます。
人がいちいち手で運んで確かめる必要がないので、早く・安定して・同じ品質で送り出せる、というイメージです。

✅ まず覚えるポイント

  • CI/CDは、変更のテストと公開を自動でつなぐ仕組み
  • CIは「自動でテストする」部分
  • CDは「自動で配る」部分
  • 確認のし忘れや手順のばらつきを減らせる
  • 小さな改善をこまめに・安全に届けられる

🧭 よくある勘違い

CIとCDは同じものなの?

役割が分かれています。CIは「直したコードを自動でテストして、問題がないかを確かめる」ところまでです。
CDはその先で、「テストを通った変更を実際の環境へ配る」ところを担います。多くの場合この2つはひとつの流れとしてつながっているので、まとめて「CI/CD」と呼ばれます。

CI/CDを入れればテストは書かなくていい?

逆です。CI/CDは「用意したテストを自動で回す」仕組みなので、肝心のテストがなければ何も確かめられません。
テストの中身は人が書く必要があります。良いテストがそろっているほど、自動化の効果も大きくなる、という関係です。

🧩 関連して覚えると楽な言葉

  • Git: コードの変更履歴を記録する道具で、CI/CDはこの変更をきっかけに動く
  • DevOps: 開発と運用が協力して早く安定して届ける進め方で、CI/CDはその代表的な手段
  • Docker: 実行環境をまとめる技術で、CI/CDの中で同じ環境を再現するのに使われる
  • IaC: 基盤を設定ファイルで作るやり方で、CI/CDの流れに組み込むことが多い

🏁 ひとことでまとめ

CI/CDは、コードを直すたびに自動でテストし、問題がなければ自動で公開まで運んでくれる仕組みです。
検品と出荷をまかせたベルトコンベアのように、小さな改善を安全に・くり返し届けるための土台になります。