2010-10-04 23 views
8

Đồng sáng lập của tôi và tôi đang thiết lập máy chủ để khởi động. Chúng tôi đang sử dụng git cho kiểm soát nguồn của chúng tôi và dự án là django ngồi phía sau nginx thông qua fcgi trên Ubuntu. Vì chúng tôi mới bắt đầu và để triển khai dễ dàng trên cả hai chúng tôi, nên tôi có một kịch bản triển khai đơn giản trên máy chủ sẽ tự động lấy các thay đổi mã mới nhất từ ​​git và sau đó triển khai chúng.Giải pháp tốt nhất để triển khai từ git sang sản xuất?

Tôi biết tôi có thể tự viết một tập lệnh bash hoặc python để thực hiện điều này, nhưng tôi đã hy vọng sẽ tìm ra nếu có các giải pháp phần mềm tương đối dễ sử dụng khác mà tôi có thể gắn vào. Ở giai đoạn này, chúng tôi ít quan tâm đến việc triển khai liên tục nhưng tôi nghĩ có thể có một số gói trong miền đó có thể hữu ích cho chúng tôi.

Trả lời

7

Có một vài lựa chọn:

  1. Hosting một kho git trên máy chủ để push to, mà Automagically kiểm tra ra phiên bản mới nhất. More on this here, cũng xem giải pháp này detached git tree.

  2. Sử dụng một cái gì đó như fabric với rsync hoặc tương tự.

Thông thường tôi sẽ có một repo git nội tuyến với thiết lập móc hậu cập nhật cho một chi nhánh cụ thể (thường "sống"). Sau đó, vấn đề là git remote add -t live live ssh://... trên máy tính xách tay của tôi và một số git push live để đẩy mọi thứ. Bạn cũng sẽ cần một cái gì đó để khởi động lại máy chủ Django cho mã mới có hiệu lực (có thể làm điều này bên trong móc, hoặc ssh/vải).

Đối với các dự án trong tương lai, tôi đang thử nghiệm với cây git tách rời (có vẻ thanh lịch hơn) kết hợp với vải.

+0

Tôi đã đọc trên vải một vài giờ trước đây. Tôi sẽ xem xét kỹ hơn vào ngày mai. Cảm ơn. – Geuis

+0

giải pháp "tách git tree" dường như rất thú vị! cảm ơn cho gợi ý. – aurora

-1

git archive <release-branch> | tar -x -C /path/to/live/site thực sự bạn cần một công cụ để làm gì?

+1

Mặc dù (được cho là?) Sự bảnh bao, cảm ơn thông tin. Tôi chủ yếu là một nhà phát triển front-end với chỉ một mức độ vừa phải của kỹ năng trong quản trị hệ thống vì vậy tôi phải kéo rất nhiều công cụ này với nhau rất nhanh chóng. – Geuis

+2

Xin lỗi, không có ý định cáu kỉnh; Tôi đã không thực sự chú ý đến cách nói của tôi muộn vào ban đêm. :) – Amber

+0

Giải pháp này xử lý các tệp đã bị xóa khỏi mã của bạn như thế nào? Hoặc các tệp di chuyển? –

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