2010-06-01 31 views
6

Tôi đang tạo một quy trình để làm việc với kiểm soát phiên bản và ứng dụng dựa trên web của tôi. Đây là những gì tôi có cho đến thời điểm này:Quy trình phát hành và phát hành SVN - Kiểm tra độ chính xác

  1. Tôi đang phát triển chính dưới branches/development và tiếp tục đồng bộ với máy chủ phát triển của mình để thử nghiệm.
  2. Tôi sử dụng svn:externals để đưa Khung công tác Zend vào dự án của mình. Tôi sử dụng số sửa đổi từ thẻ của việc phát hành Tôi quan tâm đến Ví dụ, 1.10.5 Release là phiên bản 22.306, vì vậy svn:externals của tôi trông như thế này:.
    • -r 22306 http://framework.zend.com/svn/framework/standard/trunk/library/Zend/ Zend
    • -r 22306 http://framework.zend.com/svn/framework/extras/trunk/library/ZendX/ ZendX
  3. Tôi hợp nhất thử nghiệm, mã ổn định từ branches/development đến trunk và tạo thẻ phiên bản từ đó. Sau đó tôi phát hành bản sửa đổi được thực hiện bởi thẻ đó cho máy chủ sản xuất của tôi.

Tôi chưa thực sự có kế hoạch cho hotfix, nhưng tôi nghĩ mình có thể làm việc với các thẻ sản xuất cho các tình huống như vậy.

Tôi là người mới sử dụng Subversion, vì vậy hãy cho tôi biết nếu tôi đang xem cái gì đó hoặc làm điều gì đó sẽ cắn tôi vào mông.

Cảm ơn!

+2

vì vậy _that's_ những gì bên ngoài dành cho !!! :) – zvolkov

Trả lời

1

Bạn có một quy trình tốt hơn so với hầu hết mọi người. Công ty tôi làm việc bây giờ thực hiện chính xác điều tương tự với ngoại lệ là họ tạo ra các nhánh sản xuất mới (phiên bản 1.01.1, 1.01.2 vv) thay vì các thẻ phiên bản như bạn đang sử dụng (do các tập lệnh chúng tôi sử dụng).

Điều duy nhất bạn cần đảm bảo là bạn có thể cuộn lại dễ dàng trong trường hợp hỏng hóc. Những gì tôi thích sử dụng là liên kết sim. Vì vậy, khi tôi 'triển khai' để sản xuất tôi làm một kiểm tra mới của phiên bản tôi đang triển khai, cập nhật các điểm apache simlink để trỏ đến phiên bản mới và kiểm tra nó. Nếu tôi gặp sự cố, tôi cập nhật liên kết quay lại bản sao làm việc cuối cùng mà vẫn sẽ được kiểm tra trên máy chủ. Quay lại tức thì. Nếu bạn có vấn đề đó giải quyết bạn tốt để đi IMHO.

+0

Thật không may, tôi không có quyền truy cập dòng lệnh vào máy chủ web của mình, vì vậy tôi không thể thực hiện các liên kết tượng trưng. Tôi đang sử dụng Beanstalk - http://beanstalkapp.com/ cho Subversion lưu trữ của tôi và họ có một công cụ tuyệt vời để đẩy các bản phát hành lên máy chủ web. Nó cho phép tôi khá nhanh chóng trở lại một phiên bản trước. – Sonny

+1

Sau đó, âm thanh tốt. Bạn có quá trình của bạn khá xuống. Để trả lời một số nhận xét ở trên, tôi muốn có các nhánh cho các nhóm/dự án mà họ cam kết và sau đó dẫn hợp nhất vào thân sau khi kiểm tra QA đầy đủ (dựa trên số sửa đổi của các tác vụ/lỗi đã đóng). IMO trunk phải luôn đại diện cho một bản phát hành sản xuất ổn định. Tôi nghĩ rằng bạn đang đi đúng hướng với điều này. –

2

Cách tiếp cận của bạn có vẻ tốt nhưng bạn cũng có thể thực hiện phát triển của mình trong thân cây và gắn thẻ khi nó được kiểm tra và ổn định. Tôi không chắc chắn những gì bạn đang đạt được bằng cách sử dụng một chi nhánh riêng biệt cho sự phát triển chính.

+1

Tôi thấy nó được nhiều người khuyên dùng. Giữ một thân cây ổn định được cho là có quy mô tốt hơn với các đội lớn hơn. Tôi bắt đầu như bạn đề nghị, nhưng thấy sự khôn ngoan trong quá trình khác này, vì vậy tôi đã thay đổi. – Sonny

+2

@Sonny Nếu nhóm lớn thì có thể có ý nghĩa để phát triển một số tính năng nhất định trong các nhánh và thực hiện những việc như sửa lỗi trong thân cây hoặc trong một nhánh khác. Điều này cung cấp tùy chọn tạo bản phát hành có chứa bản sửa lỗi nhưng không có tính năng vẫn đang được phát triển. Tuy nhiên, nếu nhóm nhỏ và bạn không nghĩ rằng bạn sẽ muốn bỏ qua bất kỳ mã nào đang tiến hành để tạo bản phát hành, bạn chỉ có thể thực hiện phát triển trong thân cây. Bạn có thể thay đổi từ cách tiếp cận này sang phương pháp khác khi thay đổi tình hình. – Alb

+0

Điểm tốt về cách thay đổi phương pháp tiếp cận. Subversion làm cho nó khá đơn giản để làm như vậy! – Sonny

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