まとめ — 始め方&選び方フローチャート&比較早見表

📖 このページのゴール:ここまでの全部を1ページに圧縮します。何から始めるか(答え:まず「push でテスト」だけ)、何を自動化したいか別の選び方手作業 vs CI/CD やトリガーの早見表、そしてあなたのタイプ別おすすめまで。迷ったらこのページに戻ってくれば大丈夫、という「地図」にします。 ← 目次・はじめにへもどる


🟢 まず始め方:いきなり全部やらない

CI/CD と聞くと「テスト・ビルド・セキュリティ・デプロイ…全部いっぺんに組むの?」と身構えがちですが、逆です。鉄則はこれだけ。

🟢 まず .github/workflows/ci.yml を1つ作って、「push でテストを走らせる」だけ。 小さく始めて、効いてきたら少しずつ足す。

ステップ やること 足すきっかけ
🟢 第0歩 .github/workflows/ci.yml を作り、push でテストだけ自動化 いますぐ
🟢 第1歩 PR でもテスト+lint/型チェックを追加、必須チェックにしてマージをブロック チームで開発し始めたら
🔧 第2歩 CodeQL(セキュリティ)/Dependabot(依存更新)を足す 公開・本番が見えてきたら
🔧 第3歩 デプロイ/リリース(CD)を自動化 「手で届ける」のが面倒になったら
🔧 第4歩 マトリクス(複数OS/版)・キャッシュで速く・広く 規模が大きくなったら

ポイントは、最初の1ファイルが動いた時点で、もう CI/CD は始まっていること。完璧を目指して固まるより、小さく動かして育てるのが正解です。


🧭 選び方フローチャート:何を自動化したい?

「結局、自分は何を自動化すればいいの?」を、やりたいこと起点でたどれる地図です。

Q. 何を自動化したい?
│
├─ 🟢「壊れてないか確認したい」(まずここから)
│     ├─ テストを毎回回す ……… on: push / pull_request +「npm test」
│     ├─ コードの体裁・型を見る … lint / tsc を step に追加
│     └─ 脆弱性を見つけたい …… 🔧 CodeQL(コードスキャン)
│
├─ 🔧「できたものを自動で届けたい」(CD)
│     ├─ Webサイト/アプリを公開 … Vercel / Netlify / GitHub Pages へデプロイ
│     ├─ バージョンを配布したい … タグ push → GitHub Release(成果物を添付)
│     └─ サーバーへ送りたい …… SSH/rsync・Docker イメージを push
│
├─ 🔧「決まった時間に動かしたい」
│     └─ 毎朝バッチ・リンク切れチェック … on: schedule(cron=定期実行)
│
└─ 🔧「PRレビューを楽にしたい」
      ├─ 機械に一次レビューさせる … レビューBot(CodeRabbit / Sourcery / Copilot)
      └─ 依存ライブラリを自動更新 … Dependabot(更新PRを自動で作る)

🟢 迷ったらいちばん上のルート(push でテスト)から。CD やレビューBot は、土台ができてから足せば十分です。


⚖️ 比較早見表 その1:手作業 vs CI/CD

「そもそも自動化って、手でやるのと何が違うの?」を4つの軸でまとめます。

😱 手作業 🏭 CI/CD(自動)
ミス 忘れる・サボる・手順を1つ飛ばす 毎回・同じ。うっかり飛ばしが起きない
速さ 1つずつ順番に、人が張り付く 並行で回り、待ち時間に他の作業ができる
安心 壊れていても気づかずマージ/リリース 壊れていれば即ブザー、マージをブロックできる
再現性 「自分の環境では動く」が起きる いつもまっさらな同じ環境。誰がやっても同じ

🟢 ひとことで:「人の気合い」ではなく「しくみ」で品質を守る——気合いは続かないが、しくみは続く。


🎬 トリガー早見表:いつ動かす?(on:

ワークフローは「いつ動かすか=トリガー」で性格が決まります。代表的な5つを「何に使う?」とセットで。

トリガー(on: 読み いつ動く? 何に使う?
push プッシュ コードを push したとき 🟢 まずこれ。テスト/ビルドの自動チェック
pull_request プルリクエスト PR が作られた/更新されたとき 🟢 マージ前の最終チェック(必須チェック化)
schedule スケジュール cron で決めた時刻に定期的に 🔧 毎朝バッチ・リンク切れ・依存の棚卸し
workflow_dispatch GitHub の画面の手動ボタンを押したとき 🔧 任意のタイミングで手動実行・再実行
release / タグ リリース/タグ リリース作成やタグ push のとき 🔧 リリースの自動化(成果物を添付して配布)

👥 ペルソナ別:あなたのタイプ別おすすめ

「どこまでやれば十分?」は規模で変わります。背伸びしすぎない目安をどうぞ。

タイプ おすすめ構成 ねらい
🟢 個人開発 push でテスト + Pages/Vercel への自動デプロイ 「テスト忘れ」と「手デプロイ事故」をなくす
🔧 スタートアップ テスト + デプロイ + レビューBot(CodeRabbit 等) 少人数でも一次レビューを機械に任せて速度を出す
🔧 中堅 マトリクス(複数OS/版)+ 必須チェックCodeQLDependabot 品質を面で担保し、依存・脆弱性も自動で追う
🔧 大企業 上に加えて 環境分離(dev/stg/prod)・承認フロー監査ログ デプロイを統制し、誰が何を出したかを残す

🟢 上から下へは足し算です。個人で始めて、人や本番が増えたら一段ずつ重ねていけばOK。


🌐 GitHub Actions 以外のCI/CDは?

CI/CD のしくみは GitHub Actions だけのものではありません。GitLab CI/CD(GitLab 組み込み)・CircleCIJenkins(自前で立てる老舗)など、ツールはいろいろあります。ただし考え方はどれも同じ——「きっかけ(push など)→ 決めた手順を自動で流す」「設定はコード(YAML 等)で書く」という背骨は共通です。だから、ここで覚えた on → jobs → steps の感覚は他ツールでもそのまま生きます。そのうえで、コードを GitHub に置いているなら、追加の契約も別サービスもいらず最短で始められる GitHub Actions が、いちばん手軽な入口になります。


🟢 ひとことで言うと

まずは ci.yml を1つ作って「push でテスト」だけ——CI/CD はそこから始まります。あとは🧭フローチャートで「何を自動化したいか」を選び、手作業 vs CI/CD(ミス・速さ・安心・再現性)とトリガー早見表を地図に、自分のタイプに合わせて一段ずつ足すだけ。考え方は他のCI/CDツールでも同じで、GitHub に置いているなら Actions が最短の入口です。

➡️ 次へ

最後は、ここまでに出てきた用語をふりがな付きでまとめた辞典です。「あれ、何だっけ?」をいつでも引けるようにしておきましょう。

次のページ:用語ミニ辞典(ふりがな付き) → ← 目次・はじめにへもどる