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
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 start
và git 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.
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
.
- 1. Môi trường dàn dựng Wordpress
- 2. Phân biệt web.config giữa môi trường dev, dàn dựng và môi trường sản xuất
- 3. Dàn dựng tự động với Git
- 4. Hoán đổi môi trường dàn dựng/sản xuất Azure với một Trung tâm SignalR
- 5. Sử dụng Git làm điều khiển nguồn cho phát triển web và nhiều môi trường
- 6. Sử dụng luồng git với git subtree
- 7. Làm mới các tệp được dàn dựng
- 8. Làm thế nào để có môi trường xây dựng khác nhau cho android?
- 9. Nhiều môi trường Magento
- 10. dàn Heroku hoặc ứng dụng mới trong Heroku để dàn dựng?
- 11. Làm thế nào để thiết lập các biến môi trường bằng cách sử dụng Fabric
- 12. Git: cấu hình ứng dụng và các môi trường khác nhau
- 13. Làm thế nào để lưu trữ không gian tên theo môi trường bằng cách sử dụng config.cache_store =: redis_store?
- 14. Định nghĩa của một môi trường dàn dựng khi phát triển các ứng dụng web là gì?
- 15. Thực hành tốt nhất để sử dụng HttpClient trong môi trường đa luồng
- 16. Vô hiệu hóa khu vực dàn dựng git
- 17. Eclipse + Git - nghĩa là "dàn dựng" nghĩa là gì?
- 18. git dàn dựng và cam kết giữa nhiều chi nhánh
- 19. Bundler biết môi trường nào để sử dụng?
- 20. git chỉ thêm lại những tệp đã được dàn dựng
- 21. Xây dựng thử nghiệm Môi trường Citrix
- 22. Môi trường xây dựng nền tảng chéo
- 23. Cách dễ dàng để dọn dẹp các tệp đã xóa không được dàn dựng trong Git
- 24. Git với môi trường phát triển và sản xuất
- 25. dàn dựng và ứng dụng trực tiếp với capistrano
- 26. Làm thế nào để malloc hoạt động trong môi trường đa luồng?
- 27. Symfony2, Làm cách nào để thay đổi môi trường?
- 28. Làm cách nào để sử dụng hóa thạch (DVCS) trong môi trường gia đình?
- 29. Làm cách nào để sử dụng các biến môi trường trong tệp .classpath của Eclipse?
- 30. Làm cách nào để buộc HttpWebRequest sử dụng bộ nhớ cache trong môi trường ASP.NET?
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
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' –
Làm thế nào để pull request làm việc với method này? –