Quản lý Phiên bản GitHub Linh hoạt cho Tự động hóa - Quy trình làm việc n8n

Đơn giản hóa các phương thức DevOps của bạn bằng cách sử dụng luồng công việc n8n chuyên dụng này. Tích hợp GitHub để kiểm soát phiên bản, so sánh trạng thái luồng công việc n8n cục bộ và quản lý commit một cách dễ dàng.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Đối tượng phù hợp

• Các chuyên gia tự động hóa yêu cầu kiểm soát phiên bản cho dự án của họ.
• Các nhóm DevOps quản lý các mẫu (template) n8n cho môi trường production và staging.
• Người dùng cần so sánh sự khác biệt giữa luồng công việc đang chạy trực tiếp của họ và bản sao lưu trên GitHub.
• Các lập trình viên tìm kiếm công cụ quản lý thay đổi mạnh mẽ cho các dự án n8n của họ.

Tổng quan

Việc quản lý các thay đổi đối với logic tự động hóa quan trọng có thể là một thách thức nếu không có hệ thống kiểm soát phiên bản phù hợp. Luồng công việc n8n phức tạp này giải quyết vấn đề đó bằng cách hoạt động như một giao diện quản lý phiên bản, liên kết trực tiếp các luồng công việc n8n đang hoạt động của bạn với GitHub. Nó sử dụng nhiều webhook kích hoạt (trigger) của n8n để xử lý bốn thao tác chính: liệt kê các luồng khả dụng, lấy trạng thái luồng công việc, so sánh các thay đổi cục bộ với GitHub và thực hiện commit các bản cập nhật. Bằng cách tận dụng node n8n, giải pháp này truy xuất dữ liệu luồng công việc trực tiếp, đóng gói nó, sau đó sử dụng node n8n của GitHub để quản lý các thao tác tệp (đọc và commit), tạo ra một môi trường phát triển liền mạch và có thể kiểm toán (auditable) cho các mẫu n8n của bạn.

Cách thức hoạt động

Luồng công việc n8n mạnh mẽ này hoạt động trên bốn nhánh hoạt động riêng biệt, mỗi nhánh được khởi tạo bởi một webhook kích hoạt n8n chuyên dụng:


  1. Tạo Giao diện UI (Liệt kê Luồng công việc GitHub): Một webhook kích hoạt (Webhook-ideogener8r) nhận yêu cầu. Luồng thiết lập các biến cần thiết và sử dụng node n8n của GitHub để lấy danh sách các tệp luồng công việc. Dữ liệu này được tổng hợp và chuyển đến node HTML-UI n8n, nơi kết xuất ra một giao diện người dùng đầy đủ chức năng, và phản hồi lại thông qua node Respond with UI của n8n.

  2. So sánh Luồng công việc: Webhook Get-Workflow-Changes khởi tạo việc so sánh. Luồng đầu tiên truy xuất tệp JSON của luồng công việc được chỉ định từ GitHub bằng node n8n của GitHub. Sau đó, nó sử dụng node Get n8n Workflow của n8n để lấy định nghĩa trực tiếp (live definition) của cùng luồng công việc n8n từ phiên bản cục bộ. Một node Code n8n tiếp theo (ComapreNodes) thực thi logic để làm nổi bật các điểm khác biệt, và kết quả được trả về qua phản hồi webhook.

  3. Liệt kê Luồng công việc Cục bộ: Trình kích hoạt Get-n8n-workflows sử dụng node n8n | get wf1 của n8n để truy xuất danh sách tất cả các mẫu n8n đang hoạt động trên phiên bản. Danh sách này được xử lý và trả về qua webhook để hiển thị trên bảng điều khiển.

  4. Thực hiện Commit Thay đổi: Webhook submit-form xử lý việc lưu các cập nhật. Nó xác định xem người dùng đang chỉnh sửa một luồng công việc hiện có hay tạo một luồng mới thông qua node Switch1 của n8n. Cả hai luồng đều sử dụng node n8n để truy xuất nội dung luồng công việc hiện tại trước khi chuyển nó đến node n8n của GitHub thích hợp (Commit Workflow Edit hoặc Commit New File) để hoàn tất quy trình kiểm soát phiên bản. Mọi commit đều sử dụng node n8n của GitHub để đảm bảo sự đồng bộ hóa giữa luồng công việc n8n đang chạy và kho lưu trữ từ xa.

Hướng dẫn cài đặt

Để triển khai luồng công việc n8n toàn diện này:


  1. Nhập (Import): Sao chép dữ liệu JSON được cung cấp và dán vào phiên bản n8n của bạn bằng cách sử dụng chức năng 'New' -> 'Import from JSON'.

  2. Thiết lập Thông tin xác thực (Credentials): Bạn sẽ cần thiết lập hai bộ thông tin xác thực chính:

Thông tin xác thực GitHub: Cấu hình kết nối của node n8n GitHub để cho phép truy cập vào kho lưu trữ của bạn (cần có quyền truy cập đọc/ghi tệp và phạm vi (scope) của kho lưu trữ).
Thông tin xác thực API n8n: Cấu hình kết nối của node n8n bằng khóa API cá nhân hoặc xác thực cơ bản (basic authentication) cho phép đọc và ghi vào các luồng công việc trên phiên bản n8n cục bộ của bạn. Điều này rất quan trọng vì node n8n cần lấy các định nghĩa trực tiếp.

  1. URL Webhook: Sau khi kích hoạt, hãy lấy các URL Webhook cho cả bốn node kích hoạt n8n (Webhook-ideogener8r, Get-Workflow-Changes, Get-n8n-workflows, và submit-form). Các URL này được sử dụng bởi các thành phần UI phía giao diện người dùng điều khiển hệ thống quản lý phiên bản này.

  2. Cấu hình Đường dẫn: Điều chỉnh các tham số trong các node Set khác nhau của n8n (ví dụ: Set Workflow Variables, Set GH Repo and Path3) để trỏ đến tên kho lưu trữ GitHub cụ thể của bạn và đường dẫn tệp mong muốn để lưu trữ các tệp luồng công việc n8n của bạn.

Chi tiết Node

Webhook (Nhiều bộ kích hoạt): Đóng vai trò là điểm vào (kích hoạt n8n) cho các tương tác UI, yêu cầu so sánh và gửi commit.
Node Set n8n: Được sử dụng rộng rãi (ví dụ: Set Workflow Variables, Set Flows) để trích xuất, đổi tên và thiết lập các biến như tên kho lưu trữ, đường dẫn tệp và ID luồng công việc cần thiết cho các hoạt động tiếp theo của node GitHub và n8n.
Node n8n (ví dụ: n8n | get wf1, Get n8n Workflow): Thiết yếu để giao tiếp với chính API n8n. Chức năng chính là liệt kê tất cả các luồng công việc n8n hiện có (getAll) hoặc lấy định nghĩa JSON của một luồng công việc n8n cụ thể (get) dựa trên ID của nó.
Node n8n GitHub: Xử lý tất cả các hoạt động kiểm soát phiên bản, bao gồm liệt kê các tệp trong kho lưu trữ, đọc nội dung của một tệp luồng công việc n8n đã lưu và commit lại JSON của luồng công việc mới hoặc đã chỉnh sửa vào kho lưu trữ.
Node HTML n8n: Được sử dụng trong luồng ban đầu (HTML-UI) để tạo động và phục vụ giao diện người dùng tương tác với các điểm cuối webhook khác, hoạt động như một UI chuyên dụng để quản lý các mẫu n8n.
Node Respond to Webhook n8n: Trả về dữ liệu (UI HTML, kết quả so sánh hoặc xác nhận commit) trở lại cho người dùng hoặc máy khách yêu cầu sau khi thực thi nhánh luồng công việc n8n.


  • Node Switch n8n (Switch1): Xác định luồng thực thi trong quá trình gửi biểu mẫu, phân biệt giữa việc cập nhật một tệp luồng công việc n8n hiện có hay tạo một tệp mới trong kho lưu trữ GitHub.

Các quy trình n8n liên quan

Trả phí

Node: 11 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả

Đặc sắc*