はじめに
CI/CD は、アプリの開発からデプロイまでを自動化する仕組みのことです。
エンジニアが手作業でやっていたテストやデプロイを自動化し、開発スピードを上げることが目的です。
CI/CD とは?
CI/CD は 「継続的インテグレーション(Continuous Integration)」と「継続的デリバリー(Continuous Delivery)」の略です。
用語 | 意味 |
---|---|
CI(継続的インテグレーション) | コードを変更するたびに 自動でビルド・テスト を行い、問題がないか確認する仕組み |
CD(継続的デリバリー) | CI の後に、本番環境にデプロイできる状態まで自動化 すること |
CI/CD のメリット
- 手作業のミスを減らせる
- 開発スピードが上がる
- チーム開発がスムーズになる
CI/CD の仕組み
CI/CD は、一般的に GitHub Actions や CircleCI などの CI/CD ツール を使って実現します。
1. CI(継続的インテグレーション)
- 開発者がコードを Git に Push
- CI ツールが自動でビルド & テストを実行
- テストに合格したらマージ可能に
2. CD(継続的デリバリー / デプロイメント)
- CI が成功したら、本番環境にデプロイ可能な状態に
- (継続的デプロイメントの場合)自動で本番環境へデプロイ
GitHub Actions を使った CI/CD の例
📌 手順
-
.github/workflows/main.yml
を作成 -
main.yml
に以下のような設定を書く
name: CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: "18"
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
deploy:
needs: build
runs-on: ubuntu-latest
steps:
- name: Deploy to Firebase
run: npm run deploy
📌 このワークフローの流れ
-
main
ブランチにコードを Push - GitHub Actions が ビルド & テストを自動実行
- テストが成功したら、Firebase にデプロイ
まとめ
✅ CI/CD とは開発・テスト・デプロイを自動化する仕組み
✅ CI(継続的インテグレーション)はコード変更時に自動テストすること
✅ CD(継続的デリバリー)はデプロイまで自動化すること
参考リンク