2009-03-05 39 views
144

Công ty của tôi đang xây dựng một sản phẩm. Nó sẽ được SVN phiên bản. Đó là một webapp vì vậy về cơ bản sẽ không bao giờ có một phiên bản mà không có một số tính năng trong họ và do đó luôn luôn có thể được dán nhãn là beta. Nhưng vì nó sẽ là một sản phẩm của công ty, tôi thực sự không muốn "xem xét không ổn định" trên đó. Vì vậy, làm thế nào bạn sẽ đi về phiên bản? Là 1.0 ổn định? Ngày xây dựng có phải là số phiên bản không? Nói cho tôi biết các bạn đang nghĩ gì!Làm cách nào để thực hiện các số phiên bản?

+8

Sau một thời gian, khi bạn đạt ~ 6 hoặc 7, bạn nên chuyển sang năm 2010 (hoặc bất kỳ năm nào tốt đẹp);) – Anonymous

+8

Arg ... Xin vui lòng, tôi cầu xin bạn, đừng. :-D – DevSolar

+0

http://msdn.microsoft.com/en-us/library/system.version.aspx trong Ghi chú – Kikaimaru

Trả lời

234

[lớn] [nhỏ] [phát hành] [build]

lớn:. Thực sự là một quyết định tiếp thị. Bạn đã sẵn sàng gọi phiên bản 1.0 chưa? Công ty có coi đây là phiên bản chính mà khách hàng có thể phải trả nhiều hơn hay là bản cập nhật của phiên bản chính hiện tại có thể miễn phí? Ít hơn của R & quyết định D và nhiều hơn nữa một quyết định sản phẩm.

nhỏ: Bắt đầu từ 0 bất cứ khi nào lớn được tăng lên. +1 cho mọi phiên bản công khai.

phát hành: Mỗi lần bạn đạt mốc phát triển và phát hành sản phẩm, ngay cả trong nội bộ (ví dụ: với QA), tăng giá trị này. Điều này đặc biệt quan trọng đối với giao tiếp giữa các đội trong tổ chức. Không cần phải nói, không bao giờ phát hành cùng một 'phát hành' hai lần (ngay cả trong nội bộ). Đặt lại thành 0 khi nhỏ ++ hoặc lớn ++.

xây dựng: Có thể là bản chỉnh sửa SVN, tôi thấy rằng hoạt động tốt nhất.

+6

Điều này gần như phù hợp với định nghĩa của tôi về phiên bản phần mềm của tôi. Tuy nhiên tôi đặt lại bản phát hành thành 0 ngay sau khi tôi tăng số phiên bản "nhỏ". – BlaM

+0

Tôi cũng vậy. Tôi đoán tôi đã không nói rõ điều đó. Tôi sẽ chỉnh sửa. –

+3

Điều gì dành cho trẻ vị thành niên nếu bạn sử dụng git? –

2

Nếu trong SVN thì tại sao không sử dụng số sửa đổi SVN?

Nếu bạn nhìn vào dưới cùng bên phải của trang web này, bạn sẽ thấy số phiên bản Stack Overflow là số sửa đổi SVN.

+0

Xem câu trả lời của tôi - Số sửa đổi SVN sau khi bạn thiết lập chi nhánh bảo trì. – DevSolar

3

Hiện tại, rất phổ biến để chỉ sử dụng số sửa đổi Subversion.

+0

Xem câu trả lời của tôi - Số lần sửa đổi SVN sau khi bạn thiết lập chi nhánh bảo trì. – DevSolar

+2

Sử dụng bản sửa đổi SVN vì PART của số phiên bản của bạn rất phổ biến/phổ biến.Chỉ sử dụng số sửa đổi SVN có rất nhiều vấn đề, chẳng hạn như những gì DevSolar chỉ ra. – rmeador

-2

Hoặc sử dụng số phiên bản 'nghĩ' số dấu phẩy lật đổ của bạn .. ZB:

1.0.101 // sửa đổi 101, phát hành

hoặc 1.0.101-090303 // với ngày phát hành, tôi sử dụng số điện thoại này

62

xyzg

gia tăng trong g không ổn định. (hoặc RCs) gia số trong z là các bản vá lỗi ổn định và trung bình.
gia số trong y ổn định và có nghĩa là các tính năng mới.
gia số trong x là ổn định, bản phát hành chính không có khả năng tương thích ngược 100%.

+1

là cách này hay cách sử dụng phổ biến? – Canavar

+24

Giới thiệu về điểm G Tôi không chắc chắn, phần còn lại là phổ biến. –

+1

Đề án phiên bản tốt cho các thành phần. Nhưng đối với một sản phẩm thương mại, mọi thứ ngoài x.y chỉ gây nhầm lẫn cho khách hàng và khiến IMHO trở nên khó khăn trong giao tiếp. Đặc biệt là các ứng dụng web, yêu cầu khách hàng di chuyển - "phát hành sớm, phát hành thường xuyên" không cắt nó ở đó ... – DevSolar

25

Có được cho mình một số cảm hứng từ Wikipedia: "Software versioning"

Một tùy chọn khác "mới" và "tương đối phổ biến" là Semantic Versioning

Tóm tắt:

Với một số phiên bản MAJOR.MINOR. PATCH, tăng thêm:

  1. Phiên bản MAJOR khi bạn thực hiện thay đổi API không tương thích,
  2. phiên bản MINOR khi bạn thêm chức năng theo cách tương thích ngược và
  3. Phiên bản PATCH khi bạn sửa lỗi tương thích ngược.

nhãn bổ sung cho tiền phát hành và xây dựng siêu dữ liệu có sẵn như mở rộng sang định dạng MAJOR.MINOR.PATCH.

+2

@Ravi - có thể, nhưng nó có thể bị phá hoại. SO yêu cầu danh tiếng để chỉnh sửa. Một bản tóm tắt ít nhất sẽ tốt hơn cho những người lướt qua câu hỏi này. –

+0

@Nathan, nếu bạn sử dụng SO, bạn chắc chắn có thể sử dụng lịch sử chỉnh sửa bài viết của Wikipedia. – CMircea

+10

@iconiK - Nếu bạn sử dụng SO, bạn chắc chắn hiểu rằng "Đây là câu trả lời rõ ràng, súc tích trên cùng một trang với các câu trả lời khác" hữu ích hơn "đây là liên kết đến một trang web khác mà bạn có thể tìm hiểu các phiên bản cũ của bài viết và có thể tìm thấy một cái gì đó có liên quan. " –

2

Phiên bản tùy thuộc vào bạn; Tôi sẽ đặt 1.0 trên phiên bản đầu tiên mà tôi tự tin. Bạn có thể muốn theo dõi nó nhanh chóng với các phiên bản khác, vì một số nhà cung cấp phần mềm đã đưa ra 1.0 một danh tiếng xấu.

Bạn muốn một số cách để buộc số phiên bản cho bản dựng chính xác được sử dụng, nhưng có thể bạn muốn nó trở nên đẹp và đơn giản cho người dùng cuối của mình. Cân nhắc sử dụng các số phiên bản tiêu chuẩn và gắn thẻ kho SVN với số phiên bản được bao gồm.

33

Tôi đã từng viết một "hướng dẫn kiểu phiên bản" phức tạp cho một dự án lớn của tôi.Dự án không thành công, nhưng hướng dẫn kiểu là still available online. Đó là ý kiến ​​cá nhân của tôi, có lẽ nó hữu ích (hoặc truyền cảm hứng) cho bạn.

Hãy coi chừng, đó là văn bản dài và đi vào phiên bản thành phần so với phiên bản sản phẩm và các nội dung tương tự. Nó cũng thể hiện ý kiến ​​mạnh mẽ về một số chương trình phiên bản phổ biến trong cộng đồng PMNM, nhưng tôi có chúng, vì vậy tôi thể hiện chúng. ;-)

Tôi không đồng ý với việc sử dụng số sửa đổi Subversion, chẳng hạn. Bạn có thể muốn duy trì một phiên bản được phát hành trong khi tiếp tục phát triển trong TRUNK, vì vậy bạn sẽ thiết lập một chi nhánh bảo trì - và phiên bản sửa đổi của bạn đi xuống cống.

Chỉnh sửa: Tóm tắt, nó phân biệt giữa phiên bản tệp nguồn, thành phần và sản phẩm tổng thể. Nó sử dụng một hệ thống tách biệt x.y versoning cho các thành phần và sản phẩm, với một sự phụ thuộc lẫn nhau tốt đẹp giữa hai mà làm cho truy tìm phiên bản thành phần thuộc về phiên bản sản phẩm tầm thường. Nó cũng nói về cách xử lý các chu kỳ alpha/beta/release/patch mà không phá vỡ hệ thống. Trên thực tế, đó là một modus operandi cho toàn bộ chu kỳ phát triển, vì vậy bạn có thể muốn chọn cherry. ;-)

Chỉnh sửa 2: Khi có đủ người tìm thấy bài viết của tôi hữu ích để làm cho "Câu trả lời hay" này, tôi bắt đầu làm lại bài viết. Các phiên bản PDF và LaTeX hiện đã có, một bản viết lại hoàn chỉnh bao gồm ngôn ngữ và giải thích đồ họa tốt hơn sẽ theo ngay sau khi tôi có thể tìm thấy thời gian. Cảm ơn bạn đã bình chọn!

+1

Như GmonC đã nói, đây là một chủ đề cũ, nhưng tôi tìm thấy nó, đọc tài liệu liên kết của bạn, và muốn nói tốt. Một số suy nghĩ tuyệt vời kích động các mục trong đó. Cảm ơn! +1 –

+1

Sau khi đọc một số nhận xét của bạn cho các câu trả lời khác, tôi hy vọng bạn đã đăng câu trả lời. Và tôi đã không buông xuống. Bài viết hay. – jontyc

+1

URL đã thay đổi: http://dev.rootdirectory.de/wiki/VersioningStyleGuide – Sonny

2

Trong khi chỉ cần đi với số sửa đổi Subversion là tốt đẹp và đơn giản, nó loại bỏ thông tin từ số phiên bản. Người dùng có thể coi đây là một điều xấu.

Tôi cho rằng ứng dụng web của bạn sẽ có một số loại quy trình triển khai, sao cho không phải mỗi bản sửa đổi trong Subversion thực sự được xuất bản. Vì nó là không thể từ "bên ngoài" (từ quan điểm của người dùng) để xác định khi nào các bản phát hành đang được thực hiện, và bao nhiêu sửa đổi mã sẽ trải qua giữa chúng, nó làm cho các con số gần như ngẫu nhiên. Chúng sẽ tăng lên và tôi đoán có thể phỏng đoán một số khoảng cách so sánh hai lần sửa đổi, nhưng không nhiều.

Số phiên bản cổ điển có xu hướng "phát hành" các bản phát hành, để người dùng có thể xây dựng một số loại kỳ vọng. Nó là dễ dàng hơn để suy nghĩ "Tôi có phiên bản 1.0, bây giờ phiên bản 1.1 là ra thêm này và rằng, mà âm thanh thú vị" hơn để suy nghĩ "ngày hôm qua chúng tôi chạy SO phiên bản 2587, hôm nay là 3233, nó phải được tốt hơn rất nhiều! Tất nhiên, kịch bản này cũng có thể bị thổi phồng, với các công ty chọn số phiên bản có ý nghĩa thú vị hơn là do sự khác biệt thực sự trong sản phẩm, tôi đoán với số hiệu chỉnh sửa này một chút.

0

Tôi có rất ít kinh nghiệm trong khu vực. Tuy nhiên, đây là những gì tôi muốn làm:

  1. Chọn lược đồ để đánh số các bản sửa đổi và dán vào đó. Hãy nhất quán.
  2. Mỗi thay đổi phiên bản phải đại diện cho thay đổi đáng kể. Mức thay đổi nhỏ là đáng kể và mức thay đổi được phản ánh trong số phiên bản tùy thuộc vào bạn.

Tất nhiên, bạn chỉ có thể sử dụng số sửa đổi svn --- giống như nhiều người khác đã đề xuất !!!

Tôi hy vọng điều này sẽ hữu ích...

3

"Số phiên bản" là vấn đề đối với hệ thống kiểm soát phiên bản nội bộ của bạn. Số phát hành là một vấn đề khác (và phải là KEPT khác nhau).

Stick với một hệ thống đơn giản MAJOR.MINOR phát hành (như v1.27), nơi CHỦ YẾU là mức tương thích (phiên bản 2.x không tương thích với hoặc ít nhất là majorly khác biệt so với phiên bản 1.x) và trẻ vị thành niên bugfix của bạn phát hành hoặc cải tiến nhỏ. Miễn là bạn tuân theo định dạng X.Y, bạn cũng có thể sử dụng các hệ thống khác như YEAR.MONTH (2009.12) hoặc YEAR.RELEASE (2009.3). Nhưng thực sự bạn có thể bám vào MAJOR.MINOR nếu bạn không có lý do chính đáng.

Chắc chắn không sử dụng bất kỳ thứ gì không phù hợp với định dạng X.Y, vì nó sẽ gây khó khăn cho các bản phân phối, trang web thông báo, v.v. để làm việc với bạn, và điều đó có thể ảnh hưởng nghiêm trọng đến sự phổ biến của dự án của bạn.

Sử dụng các chi nhánh và thẻ trong hệ thống điều khiển phiên bản (tốt nhất là phân phối) của bạn để đánh dấu các số phiên bản nội bộ cụ thể liên quan đến MAJORS và MINORS tương ứng.

Và có, 1.0 phải ổn định. Tất cả các bản phát hành phải ổn định, trừ khi chúng được đánh dấu alpha, beta hoặc RC. Sử dụng Alphas cho biết-bị hỏng-và-không đầy đủ. Betas cho đã biết. RCs cho "thử nó, bạn có thể sẽ phát hiện ra những thứ chúng ta đã bỏ lỡ". Bất cứ điều gì không có một trong những điều này nên (được lý tưởng, tất nhiên) được kiểm tra, biết rõ, có hướng dẫn cập nhật, v.v.

+1

Tôi đồng ý những gì người dùng nhìn thấy và những gì bạn xây dựng là hai thứ khác nhau, nhưng bạn không phải liên kết cả hai bằng cách nào đó? tức là số phát hành và số phiên bản của bạn phải có liên quan và bạn có thể khám phá số phiên bản là số bản phát hành –

+0

Với nguồn mở, chúng tôi không quan tâm đến số bản dựng. Chúng tôi phân phối mã nguồn và các bản dựng lên đến các bản phân phối. Nếu họ thấy một lỗi trong phiên bản của họ, nhưng không phải trong bản phát hành nguồn, thì họ đã làm điều gì đó sai trong bản dựng. Nếu không, đó là mã cho thẻ phát hành đó. Các thẻ cũng hiển thị trong VC. –

1

Chúng tôi đã dành quá nhiều thời gian để quyết định khi nào tăng phiên bản chính. Một số cửa hàng hiếm khi làm điều đó vì vậy bạn sẽ có những bản phát hành như 1.25.3 và những người khác sẽ làm điều đó để phát hành cho bạn 15.0

Tôi đã chán ngấy điều đó và thuyết phục mọi người rằng số phát hành chính chỉ là năm và trẻ vị thành niên chỉ là bản phát hành tuần tự trong năm. Những người dùng dường như thích nó và nó là không có trí tuệ để đến với số phiên bản tiếp theo.

Year.Release.xây dựng

  • năm = năm nay
  • phát hành = chuỗi # của thông cáo công cộng với chức năng mới - reset tới 1 mỗi năm
  • build = tăng lên cho lỗi bản sửa lỗi và phát hành nội

EDIT

** Bây giờ, ứng dụng này dành cho ứng dụng nội bộ được tăng cường liên tục **

Điều này có thể không hoạt động đối với các ứng dụng thương mại, điều quan trọng là phải có bản phát hành chính vào các thời điểm khác nhau trong năm cho mục đích tiếp thị và tài chính.

+2

... làm cho bản phát hành đầu tiên của năm mới là "bản phát hành chính" tự động, bất kể thay đổi quan trọng như thế nào. * Và * bạn không thể thực hiện bản phát hành "chính" * trong * năm đó, hoặc là ... – DevSolar

+0

Đúng - nhưng đây là một ứng dụng nội bộ ... –

0

Lý do tại sao câu hỏi này tồn tại là vì chúng tôi không có một cách thống nhất nào để thực hiện quản lý cấu hình.

Cách tôi muốn làm số phiên bản chỉ là số nguyên tăng từ 1. Tôi không muốn có số phiên bản nhiều phần mà tôi sẽ phải giải thích hoặc tài liệu. Và tôi không muốn sử dụng số rev SVN vì nó sẽ yêu cầu một số giải thích là tốt.

Bạn sẽ cần một số kịch bản phát hành trên SVN để làm cho điều này xảy ra

0

Chúng tôi sử dụng một cú pháp major.minor.julian_date đơn giản.

Địa điểm;

  • chính - Bản phát hành đầu tiên là 1 và sau đó khi chúng tôi giới thiệu các tính năng hoặc thay đổi mới quan trọng đến mức chúng không tương thích ngược, tăng số này.
  • nhỏ - Các bản phát hành quan trọng. Đối với mỗi bản dựng được đẩy theo sản xuất, con số này tăng lên.
  • julian_date - Julian Day bản dựng đã được đẩy lên QA.

Ví dụ về phiên bản đầu tiên đẩy lên QA vào 1/15 là -> 1.0.015
Ví dụ về phiên bản đầu tiên đẩy lên sản xuất trên 3/4 là -> 1.1.063

Nó không hoàn hảo, nhưng tiện dụng khi chúng tôi đẩy các bản dựng lên QA gần hàng ngày.

0

Một số thông tin tốt ở đây:

When to Change File/Assembly Versions

Trước hết, các phiên bản tập tin và các phiên bản lắp ráp không cần phải trùng với nhau. Tôi khuyên bạn nên thay đổi phiên bản tệp với từng bản dựng. Tuy nhiên, không thay đổi phiên bản lắp ráp với mỗi bản dựng chỉ để bạn có thể biết sự khác biệt giữa hai phiên bản của cùng một tệp; sử dụng phiên bản tệp cho điều đó. Việc quyết định khi nào nên thay đổi phiên bản lắp ráp, hãy thảo luận về các loại hình xây dựng cần xem xét: vận chuyển và không vận chuyển.

Xây dựng không vận chuyển Nói chung, tôi khuyên bạn nên giữ các phiên bản lắp ráp không giao hàng giống nhau giữa các bản dựng hàng. Điều này tránh các vấn đề tải lắp ráp được đặt tên mạnh do phiên bản không phù hợp. Một số người thích sử dụng chính sách của nhà xuất bản để chuyển hướng các phiên bản lắp ráp mới cho mỗi bản dựng. Tuy nhiên, tôi khuyên bạn nên chống lại điều đó đối với các bản dựng không vận chuyển: nó không tránh được tất cả các sự cố tải.Ví dụ: nếu đối tác x-sao chép ứng dụng của bạn, họ có thể không biết cài đặt chính sách của nhà xuất bản. Sau đó, ứng dụng của bạn sẽ bị hỏng cho chúng, mặc dù nó hoạt động tốt trên máy của bạn. Tuy nhiên, nếu có trường hợp các ứng dụng khác nhau trên cùng một máy cần liên kết với các phiên bản khác nhau, tôi khuyên bạn nên sử dụng các phiên bản lắp ráp khác nhau để có thể sử dụng đúng phiên bản cho từng ứng dụng mà không phải sử dụng LoadFrom/etc.

Xây dựng vận chuyển Để biết liệu bạn có nên thay đổi phiên bản đó cho bản dựng hàng không, tùy thuộc vào cách bạn muốn ràng buộc hoạt động cho người dùng cuối. Bạn có muốn các bản dựng này sát cạnh nhau hoặc tại chỗ không? Có nhiều thay đổi giữa hai bản dựng không? Họ sẽ phá vỡ một số khách hàng? Bạn có quan tâm rằng nó phá vỡ chúng (hoặc bạn có muốn buộc người dùng sử dụng các cập nhật quan trọng của bạn) không? Nếu có, bạn nên xem xét tăng phiên bản lắp ráp. Nhưng, sau đó một lần nữa, hãy xem xét rằng làm điều đó quá nhiều lần có thể xả rác đĩa của người dùng với các hội đồng lỗi thời.

Khi bạn thay đổi phiên bản lắp ráp Để thay đổi phiên bản mã cứng sang phiên bản mới, tôi khuyên bạn nên đặt biến cho phiên bản trong tệp tiêu đề và thay thế mã hóa cứng thành nguồn có biến. Sau đó, chạy một bộ xử lý trước trong quá trình xây dựng để đưa vào phiên bản chính xác. Tôi khuyên bạn nên thay đổi phiên bản ngay sau khi giao hàng, không phải trước đó, để có thêm thời gian để bắt lỗi do thay đổi.

2

Lược đồ phiên bản: [major]. [Minor]. [Devrel] [mark]
[major]: increment nếu bạn có sự thay đổi lớn trong phát triển.
[nhỏ]: tăng nếu bạn có thay đổi nhỏ về phát triển.
[devrel]: tăng nếu bạn sửa lỗi. Đặt lại về 0 nếu lớn ++ hoặc nhỏ ++.
[đánh dấu]: a, b hoặc rc: a là bản phát hành alpha, b là bản phát hành beta và rc là ứng cử viên phát hành. Lưu ý rằng các phiên bản như 1.3.57a hoặc 1.3.57b hoặc 1.3.57rc là trước phiên bản 1.3.57. Bắt đầu ở 0.0.0.

7

Dựa trên kinh nghiệm của tôi về quản lý phụ thuộc cấp nền tảng doanh nghiệp phức tạp và phiên bản phát hành Tôi đã đề xuất phương pháp tôi muốn gọi Phiên bản bán ngữ nghĩa.

Về cơ bản nó được xây dựng từ Semantic Versioning 2.0 nhưng không hoàn toàn nghiêm ngặt.

Version

Semi-Semantic Phân đoạn:

<primary.release.segment>[-<pre.release.segment>][+<post.release.segment>] 

tiểu phát hành Segment Format:

MARKETTING.MAJOR.MINOR.PATCH

Mỗi phân khúc nên cho phép chữ cái và số, nhưng tinh khiết numerics được đề xuất cho các thay đổi gia tăng hợp lý.

Giống như SemVer, tôi khuyên bạn nên lớn, nhỏ, và Patch thành phần để đại diện cho tầng tương thích ngược, nhưng tôi cũng khuyên bạn nên thêm vào trước một thành phần Tiếp thị. Điều này cho phép chủ sở hữu sản phẩm, sử thi tính năng/nhóm và mối quan tâm kinh doanh để làm nổi bật thành phần chính độc lập với các mối quan tâm về tính tương thích kỹ thuật.

Không giống như các câu trả lời khác, tôi không khuyến khích thêm số Xây dựng vào phân khúc chính.Thay vào đó, hãy thêm Phân đoạn sau khi phát hành theo sau dấu '+' (ví dụ: 1.1.0.0 + build.42). SemVer gọi siêu dữ liệu xây dựng này, nhưng tôi nghĩ rằng Phân đoạn hậu phát hành là rõ ràng hơn. Phân đoạn này rất tuyệt vời để khai báo dữ liệu hậu tố không liên quan đến thông tin tương thích trong Phân đoạn Phát hành chính. Các phiên bản tích hợp liên tục của bạn có thể được cung cấp số phát hành trước đó được nối thêm với số xây dựng gia tăng sẽ đặt lại sau mỗi bản phát hành chính (ví dụ: 1.1.0.0 -> 1.1.0.0 + build.1 -> 1.1.0.0 + build.2 -> 1.1.0.1). Một số người luân phiên thích đặt số sửa đổi svn ở đây hoặc git commit sha để dễ dàng liên kết với kho lưu trữ mã. Một tùy chọn khác là sử dụng phân đoạn hậu phát hành cho bản sửa lỗi và bản vá lỗi, có thể đáng xem xét việc thêm thành phần phát hành chính mới cho điều đó. Nó luôn luôn có thể được giảm xuống khi thành phần bản vá được tăng lên, vì các phiên bản được căn trái và sắp xếp một cách hiệu quả.

Bên cạnh những phân đoạn phát hành và sau khi phát hành, người ta thường muốn sử dụng một Pre-Release Segment để chỉ ra gần như ổn định trước khi phát hành như alpha, beta và phát hành các ứng cử viên. Cách tiếp cận SemVer cho điều này hoạt động tốt, nhưng tôi khuyên bạn nên tách các thành phần số khỏi các phân loại alpha-số (ví dụ: 1.2.0.0 + alpha.2 hoặc 1.2.0.0 + RC.2). Thông thường, bạn sẽ va chạm phân khúc phát hành cùng lúc với việc thêm phân đoạn sau khi phát hành và sau đó thả phân khúc tiền phát hành khi bạn tiếp tục làm nổi bật phân đoạn phát hành chính (ví dụ: 1.0.1.2 -> 1.2.0.0-RC.1 - > 1.2.0.0). Các phân đoạn tiền phát hành được thêm vào để cho biết rằng phiên bản phát hành sắp ra mắt, thường chỉ là một bộ tính năng cố định để kiểm tra và chia sẻ chuyên sâu hơn mà không thay đổi từng phút dựa trên nhiều cam kết hơn.

Vẻ đẹp của việc xác định tất cả các ngữ nghĩa này theo cách bao quát tất cả các trường hợp sử dụng là bạn có thể phân tích, sắp xếp, so sánh và tăng chúng theo cách tiêu chuẩn. Điều này đặc biệt quan trọng khi sử dụng các hệ thống CI cho các ứng dụng phức tạp với rất nhiều thành phần được phiên bản độc lập nhỏ (như các dịch vụ vi mô) đều có các phụ thuộc được quản lý riêng của chúng.

Nếu bạn quan tâm, tôi đã viết a semi-semantic parser in ruby. Tôi không cần phải sử dụng mẫu này nhưng có thể quản lý các ứng dụng khác đã sử dụng nó.

7

a.b.c.d

Increments: khi
- d: sửa lỗi
- c: bảo dưỡng, ví dụ cải thiện hiệu suất
- b: tính năng mới
- một: thay đổi kiến ​​trúc

bắt buộc là trái nhất một ví dụ nếu có ví dụ một tính năng mới và sửa lỗi thì bạn chỉ phải tăng b.

+0

Một số ví dụ về thay đổi kiến ​​trúc là gì? – eaglei22

+1

Ví dụ: di chuyển tiến bộ sang các dịch vụ nhỏ hoặc di chuyển sang nền tảng khác có liên quan đến những thay đổi lớn trên mã cơ sở, –

+1

Cảm ơn bạn đã phản hồi. – eaglei22

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