Chúng tôi đã di chuyển rất nhiều mã nguồn sang git và rất hài lòng với giải pháp hiện tại của chúng tôi. Chúng tôi muốn có các tệp cấu hình máy chủ của chúng tôi được phiên bản trên cùng một hệ thống, nhưng có một số điều không hoạt động theo cách chúng tôi muốn và tôi hy vọng ai đó có thể chia sẻ kinh nghiệm của mình ở đây.
Câu hỏi này tương tự như Sử dụng kiểm soát sửa đổi cho các tệp cấu hình máy chủ? , nhưng chúng tôi có một số yêu cầu đặc biệt không hoạt động với các đề xuất về câu hỏi đó.
Thiết lập hiện tại sử dụng subversion cho các tập tin cấu hình. Kho tương ứng trông giống như thế này
/ # root của kho lưu trữ + - www.domain.com/ # cấu hình cho www | \--Vân vân/ | \ - apache2 / + - dev.domain.com/ # cấu hình cho dev | + - v.v / | \--opt/ | \ - ứng dụng1 / | \ - conf / # cấu hình cho app1 trên dev \ - staging.domain.com/ # cấu hình để dàn dựng
Với lật đổ, điều này sẽ hoạt động tốt, bởi vì có thể chỉ cần kiểm tra một thư mục con của kho lưu trữ. Ngoài ra, bạn có thể sử dụng svn: externals để trỏ đến một cấu trúc chung cho một số thiết lập cấu hình khác nhau. Chúng tôi chỉ phải xử lý các tệp .svn trong tất cả các thư mục được phiên bản. Mặt khác, Git không có svn: externals và kiểm tra thưa thớt luôn yêu cầu đường dẫn từ thư mục gốc đến thư mục thực tế phải giống nhau.
Khi thảo luận về việc di chuyển sang git, tôi đã cố gắng viết ra các Yêu cầu chính cho phiên bản cấu hình máy chủ:
- chúng tôi chỉ muốn một kho lưu trữ duy nhất
- có thể dễ dàng đẩy các thay đổi đến điều khiển từ xa trung tâm
- thay đổi nên chứa tác giả thực sự
Có một cách hay để có tất cả cấu hình trong một kho lưu trữ và chỉ có một đường dẫn phụ là bản sao làm việc? Hiện tại tôi đang xem xét hai cách tiếp cận, nhưng muốn đặt câu hỏi này ở đây trước
- Nếu kho lưu trữ .git ở một vị trí cố định, ví dụ: ở đâu đó trong / var , chúng ta có thể liên kết đến đường dẫn phụ từ thư mục làm việc "đích". Vấn đề chính: Tôi sẽ không biết cách "liên kết" từ / etc đến thư mục khác để chỉ nhập nội dung, ngoại trừ các tệp đơn liên kết tượng trưng
- Tôi tìm thấy một lựa chọn khác cho câu hỏi SO này , đề nghị có nhiều nhánh trong một kho lưu trữ. Điều này chắc chắn sẽ làm tăng sự phức tạp, nhưng tôi có thể thấy chúng tôi đang thử theo cách này.
Sử dụng git trên một máy duy nhất để quản lý tệp cấu hình hoạt động tốt, nhưng tôi tin rằng phải có ai đó đang sử dụng nó theo cách chúng tôi muốn sử dụng.
Cảm ơn bạn
Kariem
/
vì quyền ghi.