到目前為止,我們的所有 n8n 操作都是在同一個工作流中完成:建立、測試、修改,然後直接按下 Active
開關上線。這種「單軌開發」模式對於個人專案或簡單任務來說非常高效。
但想像一下,如果這個工作流負責的是處理公司的訂單、更新客戶資料庫,或監控關鍵服務,情況會發生什麼變化?
為了解決這些問題,我們必須引入軟體開發中最核心的概念之一:環境分離與版本控制。今天,我們將學習如何像一個專業團隊一樣,管理我們的 n8n 工作流。
我們的目標:
將開發與生產環境分離,是所有嚴肅軟體開發的基礎。
環境 | 用途 | 誰可以使用? | 特點 |
---|---|---|---|
開發環境 (Dev) | 建立新功能、修改現有邏輯、進行各種測試、除錯。 | 所有開發者。 | 自由奔放,允許出錯,可以連接到測試用的資料庫或 API。 |
生產環境 (Prod) | 運行穩定、經過完整測試的最終版本,服務真實用戶或執行關鍵任務。 | 僅限授權的管理員或自動化部署腳本。 | 極度穩定,不容許任何未經測試的變更,連接到真實的線上服務。 |
在 n8n 中,最簡單實現環境分離的方法就是部署兩個獨立的 n8n 實例(例如,兩個不同的 Docker 容器)。
http://localhost:5678
https://n8n.my-company.com
n8n 的工作流本質上就是一個 JSON 檔案。這意味著,我們可以像對待任何程式碼一樣,使用 Git 來對它進行版本控制。
workflow.json
檔案。將它重新命名,賦予一個有意義的名稱,例如 rss-ai-summary.json
。n8n-workflows
。.json
檔案移動到這個資料夾中。git init
將此資料夾初始化為一個 Git 倉庫。每當你對工作流進行了一次有意義的修改(例如,新增了一個節點、修正了一個 Bug),都應該進行一次 Commit。
`bash*# 將所有 .json 檔案加入到暫存區*
git add *.json
# 提交變更,並寫下清晰的 Commit Message
git commit -m "feat: Add OpenAI node for article summarization"`
使用 Git 的好處:
當你在開發環境中,通過 Git 的分支、合併、測試流程,確認一個新版本的工作流已經準備好上線時,就進入了部署環節。
main
分支) 上的 workflow.json
檔案。https://n8n.my-company.com
)。workflow.json
檔案。對於更大型的團隊,可以利用 n8n 的 REST API 或 CLI (命令列工具),結合 CI/CD 工具 (如 GitHub Actions, Jenkins) 來實現自動化部署。當 main
分支有新的 Commit 時,自動觸發腳本,將新的工作流推送到生產環境的 n8n 實例中。
今天,我們為狂野奔放的 n8n 開發流程,引入了專業軟體工程的紀律與秩序。學習了環境管理與版本控制,你獲得的好處是巨大的: