2010-06-24 29 views
5

Tôi muốn sử dụng git để triển khai dự án django như tôi đã làm trước đây, nhưng lần này cũng cần phải có tệp sản xuất (như tệp tải lên, sql db vv) ở đâu đó trong kho lưu trữ, để bạn có thể làm việc cục bộ dễ dàng với cùng một dữ liệu như trên máy chủ; ý tưởng của tôi sẽ có ba nhánh:Triển khai Django bằng git, bao gồm các tệp liên quan đến sản xuất

  • thạc sĩ (mà trên đó sự phát triển "bình thường" được thực hiện/cam)
  • sản xuất (có bổ sung các tập tin sản xuất (tập tin tải lên vv ...)
  • triển khai (sản xuất với các thiết lập vv được sử dụng để chạy trên máy chủ)

vấn đề đối với tôi là: làm thế nào để hợp nhất các thay đổi được thực hiện trong tổng thể vào từng ngành sản xuất, mà không thay đổi/hủy hoại bất kỳ dữ liệu sản xuất

?

Có cách nào để hợp nhất có chọn lọc (ví dụ như không chạm vào các tập tin trong phương tiện/tải lên), hoặc thực hiện một số loại "theo dõi chọn lọc chi nhánh" hoặc bất kỳ khả năng nào khác để xử lý việc này?

Mặt khác, tôi cũng cần có khả năng lấy dữ liệu hoàn chỉnh từ việc sử dụng sản xuất một cách dễ dàng từ máy chủ để thực hiện một số gỡ lỗi chẳng hạn ... (Tôi sẽ thay đổi sơ đồ cơ sở dữ liệu từ những cân nhắc này ngay bây giờ bởi vì chúng có thể được thực hiện thủ công hoặc theo cách riêng biệt)

Trả lời

1

Tôi hơi bối rối bởi tên máy chủ của bạn, tôi quen với việc: sản xuất, dàn dựng, phát triển.

bạn có thể đổ cơ sở dữ liệu dưới dạng mã sql hoặc bất kỳ cách nào bạn muốn xuất dữ liệu, sau đó chuyển nó vào máy chủ chính (phát triển?) Của bạn. bạn có thể làm điều đó bằng cách tải nó lên một kho git về sản xuất và kéo nó vào phát triển. Fabric sẽ làm điều đó rất dễ dàng.

nhưng việc đưa dữ liệu vào kho lưu trữ git có lẽ không phải là một ý tưởng tuyệt vời, tôi chưa thử kết hợp các vùng cơ sở dữ liệu, vì vậy tôi không quá chắc chắn. bạn đang nói về bao nhiêu dữ liệu? git là nhanh, nhưng sáp nhập và cam kết bãi chứa dữ liệu lớn có thể là một quá trình đau đớn.

chúng tôi có xu hướng có cơ sở dữ liệu thử nghiệm nhỏ trên các máy cục bộ của chúng tôi (có thể bị xóa) và đang chạy một máy chủ dàn bên cạnh máy chủ sản xuất, với các DB riêng biệt.

khi các mô hình django cơ bản thay đổi, chúng tôi sử dụng South trên máy chủ dàn dựng và sản xuất của chúng tôi để di chuyển sang cơ sở dữ liệu mới.

các tệp đã tải lên có thể bạn đã tải xuống máy của mình để phân tích, nhưng một lần nữa rất nhiều công việc đó có thể được thực hiện trên máy chủ dàn dựng mà không phải chuyển tất cả nội dung sang máy cục bộ của bạn.

nếu bạn vẫn muốn thêm nội dung tĩnh vào kho lưu trữ git của mình, chỉ cần thêm các tệp tĩnh vào thư mục con. sau đó bạn có thể thiết lập máy chủ tập tin của bạn để phục vụ trực tiếp từ thư mục con đó, hoặc nếu cảm thấy quá không an toàn, git kéo đến một số vị trí khác và sau đó sao chép các tập tin vào/var/www-static/với Fabric.

+0

Cảm ơn bạn đã trả lời, tôi sẽ xem xét Fabric. Đã sử dụng miền Nam, nhưng như tôi đã đề cập, cơ sở dữ liệu không phải là vấn đề duy nhất ... –

Các vấn đề liên quan