2013-04-15 31 views
14

Chúng tôi đang sử dụng luồng git để xử lý các hotfix & tính năng, với chi nhánh phát triển & nhánh chính (để sản xuất). Cách đơn giản nhất để thêm nhánh phân nhánh vào hỗn hợp là gì để chúng ta có thể xác nhận công việc đang trên đường phát triển từ khi phát triển trong khi vẫn giữ được tính hữu ích của luồng git?Làm cách nào để sử dụng luồng git với môi trường dàn dựng?

Trả lời

6

Tôi sẽ nói rằng dàn dựng nên dựa trên nhánh phát hành dòng chảy git. Sau một số git flow release startgit flow release publish bạn có thể bắt đầu QA hoạt động trên nhánh đó, bao gồm xuất bản nó lên một khu vực dàn dựng. Khi QA hoạt động trong khu vực dàn dựng đã chứng minh mã sẵn sàng cho việc phát hành sản phẩm đến/cài đặt trong sản xuất và làm git flow release finish.

Nếu bạn đang sử dụng TeamCity, bạn có thể dễ dàng thiết lập máy chủ để phát hiện các nhánh phát hành từ xa mới và tự động thiết lập bản dựng cho chúng, see here.

+0

Bạn đề xuất sử dụng một nhánh khác cho mỗi bản phát hành tiềm năng thay vì có một nhánh dành riêng cho "bản phát hành tiếp theo trong thử nghiệm" (dàn dựng) giống như luôn có nhánh phát triển và tổng thể? – Eric

+0

Vâng, đó sẽ là cách thức hoạt động tiêu chuẩn của luồng, thực hiện. Bạn luôn có thể đặt tên cho chi nhánh giống nhau, ví dụ: "dàn dựng". Nhưng việc sử dụng git-flow bình thường sẽ loại bỏ nhánh khi bạn 'git flow release finish' và tạo lại nó khi bạn' git flow release start' –

+0

Làm thế nào để pull request làm việc với method này? –

2

Tôi vừa mới bắt đầu sử dụng dòng chảy git nhưng IMHO cách dễ nhất là để thiết lập tiếp theo phát hành như dev chi nhánh và sản xuất phiên bản như stage chi nhánh và sau đó ví dụ .: bằng tay kết hợp với master chi nhánh (sản xuất thực tế của bạn).

Vì vậy, trong trường hợp bạn phát hành phiên bản 1.2.0 đến stage và sau đó tìm lỗi trong bản phát hành của bạn (ví dụ: trong CMS lõi, feature1, feature3 và feature4) thì bạn luôn có thể áp dụng các bản vá. với phiên bản 1.2.4 và sau đó kết hợp nó vào sản xuất.

CẬP NHẬT: Kịch bản này giả sử bạn không có cơ chế quay lại để bạn luôn luôn thêm cam kết sửa lỗi, phát hành tính năng hoặc bất kỳ thứ gì khác. Nếu bạn có cơ chế roll-back thì bạn không cần phải lo lắng về lỗi của mình trong quá trình sản xuất. Chỉ khi bạn phát hiện lỗi, hãy sử dụng tính năng quay lại để thiết lập phiên bản làm việc trước đó. Ví dụ: nếu bạn tìm thấy lỗi trong phiên bản 1.2.3, hãy quay lại phiên bản 1.2.2. Sửa lỗi, thử nghiệm trên dev sau đó trên stage và đẩy vào sản xuất dưới dạng versioin 1.2.4. Vì vậy, sản xuất của bạn sẽ nhảy từ 1.2.2 thẳng đến 1.2.4.

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