CI/CDとは何か - コード品質とデプロイを自動化する基本

入門 | 11分 で読める | 2026.06.27

公式ドキュメント

CI/CDとは

CI/CDは、コードを変更したときに、チェック、テスト、ビルド、デプロイを自動で行う仕組みです。

CI/CDを組めると、「自分のコードが動く」だけでなく、「変更を安全に届ける仕組みまで考えられる」ことを示せます。

転職を考えているエンジニアや未経験からポートフォリオを作る人にとって、CI/CDはかなり評価されやすい領域です。

CIとCDの違い

CIとCDはセットで語られますが、役割は違います。

用語意味
CIContinuous IntegrationPR作成時にlint、test、buildを実行する
CDContinuous Delivery / Deploymentmain反映後にステージングや本番へ届ける

CIは、変更を取り込む前の品質チェックです。

commit
  -> push
  -> pull request
  -> lint
  -> test
  -> build

CDは、通った変更を環境へ届ける流れです。

main merge
  -> build
  -> deploy staging
  -> approve
  -> deploy production

CIでよく走るもの

CIでは、次のような処理を自動実行します。

処理目的
format checkコードの見た目を揃える
lintバグや規約違反を検出する
typecheckTypeScriptなどの型エラーを検出する
unit test小さな単位の動作を確認する
integration test複数機能の連携を確認する
build本番用にビルドできるか確認する
security scan依存関係や脆弱性を確認する

すべてを最初から完璧に入れる必要はありません。ポートフォリオなら、まず linttypechecktestbuild の4つがあるだけでも印象が変わります。

なぜ評価されるのか

CI/CDが評価される理由は、現場の開発に直結するからです。

  • 手元では動くが本番で壊れる、を減らせる
  • レビュー前に機械的なミスを落とせる
  • チーム全員の品質基準を揃えられる
  • デプロイ作業を属人化しにくい
  • 変更のたびに同じ確認を自動でできる

未経験者でもCI/CDを入れていると、「現場の開発フローを意識している」と伝わりやすくなります。

まず作るべき最小構成

Node.js系のポートフォリオなら、最小構成は次のようなものです。

name: CI

on:
  pull_request:
  push:
    branches: [main]

jobs:
  ci:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
          cache: npm
      - run: npm ci
      - run: npm run lint
      - run: npm run typecheck
      - run: npm test
      - run: npm run build

これだけでも、PRやmainへのpushで自動チェックが走ります。

CI/CDは速度も大事

最初は「動くCI」を作るだけで十分です。しかし、実務では「何分かかるか」も重要になります。

たとえば、PRを作るたびにlintだけで数分かかると、開発速度にじわじわ影響します。

PR作成
  -> CI待ち 8分
  -> 修正
  -> CI待ち 8分
  -> レビュー修正
  -> CI待ち 8分

1回の待ち時間は小さく見えても、チーム全体では大きな時間になります。

ポートフォリオでの見せ方

READMEに次のように書けると、評価されやすいです。

## CI/CD

- Pull Request時に lint / typecheck / test / build を自動実行
- mainブランチへのpushでデプロイを実行
- GitHub Actionsのcacheを使い、依存関係インストール時間を短縮
- pre-commit hookでコミット前に変更ファイルだけlint

さらに一段上げるなら、CIの処理時間を改善した記録も書きます。

CI改善:
- npm installをnpm ci + cacheへ変更
- lintとtestをjob分割
- 不要なpush時CIをpathsで抑制
- pre-commitをHuskyからLefthookへ移行

「CI/CDを入れた」だけでなく、「開発速度まで見た」と伝えられます。

まとめ

CI/CDは、コード品質とデプロイを自動化する仕組みです。

  • CIはPRやpush時の品質チェック
  • CDは安全に環境へ届ける流れ
  • lint、test、buildを自動化するだけでも価値がある
  • 転職やポートフォリオでも評価されやすい
  • 慣れてきたら処理時間も意識する

まずは動くCIを作り、その後に速くする。この順番で十分です。

参考リソース

次に読む記事

← 一覧に戻る
PR
PR
PR
PR