
CI/CDとは「コードを安全に届ける仕組み」
CI/CDとは「コードを安全に届ける仕組み」
コードを書いたあと、どうやってユーザーが使えるようにするのか。この「書いたコードを本番環境に届ける」プロセスを自動化する仕組みがCI/CDです。
- CI(Continuous Integration:継続的インテグレーション) — コードの変更を自動でテスト・検証する仕組み
- CD(Continuous Delivery/Deployment:継続的デリバリー/デプロイ) — テストを通過したコードを自動で本番環境にリリースする仕組み
なぜCI/CDが必要なのか
CI/CDがない場合の問題
手動でデプロイを行う場合、以下のような問題が発生しがちです。
- テストを実行し忘れて、バグのあるコードが本番に出てしまう
- 手動でファイルをアップロードする際に、手順を間違える
- 「自分のPCでは動くのに、本番では動かない」問題が起きる
- デプロイ作業に時間がかかり、特定の人しかできない
CI/CDがある場合のメリット
- コードをプッシュするだけで、自動でテスト・デプロイが走る
- 人的ミスが減る
- デプロイ作業が属人化しない
- リリースのスピードが上がる
CIの仕組み
CIで行われること
コードをGitHubにプッシュすると、自動的に以下が実行されます。
- コードのビルド — コードが正しくコンパイルできるか確認
- リンターの実行 — コーディング規約に違反していないか確認
- 自動テストの実行 — ユニットテスト、結合テストを実行
- カバレッジレポート — テストがどの程度のコードをカバーしているか計測
CIが失敗したら
CIが失敗すると、PRをマージできません。つまり、テストに通らないコードは本番に入らない仕組みです。
CIが失敗したとき行うこと:
- エラーログを確認して、何が失敗したかを特定する
- 自分のローカル環境でも同じテストを実行して確認する
- 修正して再プッシュする(CIは自動で再実行される)
CDの仕組み
デプロイの流れ
CIを通過したコードがmainブランチにマージされると、CDが自動でデプロイを実行します。
| ステップ | 内容 |
|---|---|
| 1. ビルド | 本番用のコードを生成する |
| 2. テスト | 本番環境に近い環境でテストを実行する |
| 3. ステージング | 本番と同じ環境で最終確認する |
| 4. 本番デプロイ | ユーザーが使う環境にリリースする |
デプロイ戦略
| 戦略 | 説明 | メリット |
|---|---|---|
| ローリングデプロイ | サーバーを順番に更新する | ダウンタイムなし |
| ブルー/グリーン | 新旧2つの環境を切り替える | 切り戻しが容易 |
| カナリアリリース | 一部のユーザーにだけ先行公開する | リスクを最小化 |
CI/CDも学べる実践型カリキュラム
よく使われるCI/CDツール
GitHub Actions
GitHubに統合されたCI/CDサービスで、最も広く使われています。
- GitHubリポジトリに
.github/workflows/ディレクトリを作り、YAMLファイルで設定を書く - プッシュやPR作成をトリガーにして、自動でジョブを実行する
- 無料枠が充実しており、個人プロジェクトでも使いやすい
その他のツール
- CircleCI — 高速で柔軟な設定が可能
- Jenkins — 歴史の長いオープンソースツール。大企業で多く使われる
- Vercel / Netlify — フロントエンドのデプロイに特化。GitHubと連携するだけで自動デプロイ
未経験エンジニアがCI/CDで知っておくべきこと
最低限の知識
- CIが何をしているか理解する(テストの自動実行、リンターのチェック)
- CIが失敗したとき、ログを読んで原因を特定できる
- デプロイの基本的な流れを理解する
ポートフォリオでCI/CDを取り入れる
ポートフォリオにCI/CDを導入しておくと、面接で大きなアピールポイントになります。
- GitHub Actionsでテストの自動実行を設定する
- Vercelと連携して、mainブランチへのマージで自動デプロイする
- テストカバレッジのバッジをREADMEに表示する
これだけで、「この人は実務の開発フローを理解している」と評価されます。
CI/CDは「チームの安全装置」
CI/CDは、チーム開発においてコードの品質を保つ安全装置です。これを理解しているエンジニアは、現場でスムーズに開発フローに馴染めます。
LuaGateの18ヶ月カリキュラムでは、GitHub Actionsを使ったCI/CDの設定を実際に体験します。自分のプロジェクトにCI/CDを導入する経験は、現場で即座に役立つスキルです。
デプロイまで学べる18ヶ月の実践カリキュラム
実務で使うGit操作
ブランチ戦略からコンフリクト解消まで
Webエンジニアのセキュリティ基礎
XSS・CSRF・SQLインジェクションを理解する
現場で通用するエンジニアスキル
スクールでは学べない実務力の全体像
LuaGateのカリキュラム
18ヶ月で実務力を身につける実践型カリキュラム




