CI/CD
しーあいしーでぃー
一言で言うと
コードの変更を自動的にテスト・ビルド・デプロイする仕組み。手作業によるミスを減らし、リリースを高速化する。
もう少し詳しく
一言で言うと
コードの変更を自動的にテスト・ビルド・デプロイする仕組み。手作業によるミスを減らし、リリースを高速化する。
もう少し詳しく
CI/CDは2つの概念の組み合わせです:
工場の生産ラインに例えるとわかりやすいです。部品(コード)が追加されるたびに、品質検査(テスト)を自動で行い、合格したら自動で出荷(デプロイ)される仕組みです。手作業で検査していたら時間もかかるし、見落としも起きますよね。
GitHub ActionsやCircleCIなどのツールで実現されており、現代のソフトウェア開発では標準的な仕組みです。
実務でどう使うか
コードで見てみよう
# GitHub Actionsの設定例(.github/workflows/ci.yml)
name: CI/CD Pipelineon:
push:
branches: [main] # mainブランチにプッシュされたら実行
jobs:
test-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4 # コードを取得
- run: npm install # 依存関係インストール
- run: npm test # テスト実行(CI)
- run: npm run build # ビルド
- run: npm run deploy # デプロイ(CD)
# → すべて自動!人間は何もしなくてOK