🗂️
概念 #n8n #ユースケース #Git #バージョン管理 #Source Control #デプロイ #CI/CD 📚 n8nワークフロー自動化

Gitでワークフローをバージョン管理する

n8nのSource Control機能(Git連携)を使い、ワークフローをGitHubで管理し、ブランチ戦略でdev/staging/prod環境へのデプロイを制御するセットアップ手順。

ユースケース概要

n8nのSource Control機能でGitHubリポジトリと接続し、ワークフローの変更をGitで管理する。環境ごとにブランチを分け、PRレビューを経て本番適用する運用フローを構築する。

解決する課題: ワークフローの変更履歴が追えず、誰がいつ変更したか不明・壊れた場合のロールバックができない問題を解決する

前提条件: n8n Enterprise版またはn8n Cloud Businessプラン以上

ブランチ戦略

main(本番)
  ↑ マージ(PRレビュー必須)
staging(検証)
  ↑ マージ
develop(開発)
  ↑ 機能ブランチ
feature/xxx

各環境のn8nインスタンスが対応するブランチを参照する。

セットアップ手順

Step 1: GitHubリポジトリの作成

# GitHubでリポジトリ作成後
git init
git branch -M main

Step 2: n8nとGitの接続

n8n管理画面 → Settings → Source Control

Provider: GitHub
Repository URL: https://github.com/your-org/n8n-workflows
Branch: develop(開発環境の場合)
SSH Key: [自動生成されたSSH公開鍵をGitHubに登録]

Step 3: SSHキーをGitHubに登録

n8nが生成した公開鍵を GitHubのリポジトリ → Settings → Deploy Keys に追加する。 開発・本番のPushが必要な場合は Write access を有効にする。

Step 4: 初回Push(既存ワークフローのコミット)

Settings → Source Control → Push to remote
Commit Message: "initial: 既存ワークフローをGit管理に移行"

生成されるファイル構成:

.n8n/
  workflows/
    my-workflow-1.json
    order-processing.json
  credentials/
    *.json(暗号化済み)
  variables.json

開発フロー

日常的な変更管理

1. developブランチで変更
2. Push: Settings → Source Control → Push
3. PRをGitHubで作成・レビュー
4. staging ブランチにマージ → staging環境でテスト
5. main ブランチにマージ → 本番環境でPull適用

本番へのデプロイ(Pull)

本番n8n → Settings → Source Control → Pull from remote

mainブランチの最新状態が本番n8nに反映される。

ポイント・注意事項

  • Credential(認証情報)はGitに保存されるが暗号化される。暗号化キーは各環境で別々に管理し、Gitには含めない
  • variables.json にはDB接続文字列等の環境別値が含まれる。.gitignore で除外するか、値を環境変数参照({{ $env.VAR_NAME }})にする
  • ワークフローの isActive(アクティブ/非アクティブ)状態はGitに含まれる。本番Pullで意図せずワークフローがアクティブ化されないよう注意する

関連機能

  1. 1. 🔄n8n概要 - ワークフロー自動化プラットフォーム
  2. 2. ⚙️n8nワークフローの基本(ノード・コネクション・実行)
  3. 3. n8nトリガーの種類(Webhook・スケジュール・イベント)
  4. 4. 🔀n8nロジック制御(フィルター・条件分岐・ループ・マージ)
  5. 5. 🌐n8n HTTP Request・API連携
  6. 6. 🔗n8n主要インテグレーション(Slack・Gmail・GitHub)
  7. 7. 🛡️n8nエラーハンドリング・デバッグ
  8. 8. 🤖n8n AI・LLMエージェント(Chain・Agent)
  9. 9. 💻n8n Codeノード・カスタム処理
  10. 10. 🏢n8nエンタープライズ機能(ソース管理・シークレット・チーム管理)
  11. 11. 🌤️毎朝SlackにAIで天気・ニュースを通知する
  12. 12. 📊GitHubのPRをGoogleシートに自動記録する
  13. 13. 📧新規ユーザー登録時にWelcomeメールを自動送信する
  14. 14. 💳StripeのWebhookで決済完了を検知して処理する
  15. 15. 📈スケジュールトリガーで週次レポートを自動生成する
  16. 16. 🎫Gmailトリガーでサポートメールを自動Notionチケット化する
  17. 17. 🎯条件分岐でリード属性に応じて担当者を振り分ける
  18. 18. 📨ループ処理でリストを走査し一括メール送信する
  19. 19. 📋複数APIのデータをマージして統合レポートを作成する
  20. 20. 🗄️外部REST APIからデータを取得してDBに保存する
  21. 21. 🔍GraphQL APIでGitHubのIssueを取得・加工する
  22. 22. 🔐Bearer認証付きAPIを呼び出してデータ同期する
  23. 23. SlackとNotionを連携したチームタスク管理フロー
  24. 24. 🤝GmailとHubSpotを連携したCRM自動化フロー
  25. 25. 🚀GitHubデプロイイベントをSlackに通知する
  26. 26. 🚨APIエラー発生時にSlackへアラートを送る
  27. 27. 🔁リトライ付きの堅牢なデータ同期フローを構築する
  28. 28. 📝エラーログをAirtableに自動記録する
  29. 29. 🤖LLMを使ったカスタマーサポート自動応答ボット
  30. 30. 🔎ドキュメントRAG検索システムを構築する
  31. 31. 📬AIでメール内容を自動分類・ルーティングする
  32. 32. 🔧JavaScriptで複雑なデータ変換処理を実装する
  33. 33. 📄npmライブラリを使ったPDF自動生成フロー
  34. 34. ✔️カスタムバリデーションロジックをCodeノードで実装する
  35. 35. 🗂️Gitでワークフローをバージョン管理する
  36. 36. 🌍環境変数で本番・ステージングを切り替える
  37. 37. 👥チームでのワークフロー共同管理フロー
  38. 38. 📋AIで履歴書を自動スクリーニング・スコアリングする
  39. 39. 🧾請求書PDFをOCRで自動データ入力・会計ソフト登録する
  40. 40. 📱ブログ記事→SNS自動投稿パイプラインを構築する
  41. 41. 📦Shopify注文処理を完全自動化する(在庫・配送・顧客通知)
  42. 42. 🔔予約リマインダーを自動送信してノーショーを削減する
  43. 43. 📊経営ダッシュボードを毎朝Slackに自動配信する
  44. 44. 🔭競合情報を自動収集してWeeklyレポートにまとめる
  45. 45. 🎉新入社員オンボーディングを完全自動化する

出典: https://docs.n8n.io/source-control-environments/