Semantic Versioning
Quản lý đánh số phiên bản release có ngữ nghĩa
Last updated
Was this helpful?
Quản lý đánh số phiên bản release có ngữ nghĩa
Last updated
Was this helpful?
Đối với các release branches, chúng ta sử dụng Semantic branching model (Roberto Di Remigio & Radovan Bast) để đăt tên version của release khi triển khai ứng dụng
Quy tắc này dựa trên 3 con số chính MAJOR
, MINOR
, PATCH
. Nó tương ứng với 3 con số trong việc định nghĩa version của 1 API hoặc 1 application.
MAJOR
: Đại diện cho việc thay đổi lớn, không tương thích với bản cũ.
PATCH
: Đại diện cho những thay đổi nhỏ, vẫn tương thích với bản cũ, thường thay đổi sẽ là update
gì đó.
MINOR
: Đai diện cho những thay đổi nhỏ, vẫn tương thích với bản cũ, nó sẽ khác với PATCH
là thay vì update
một cái gì đó sẽ thành create
một cái gì đó.
2.1 Một version định nghĩa đúng phải bao gồm 3 số X.Y.Z tương ứng với MAJOR
, PATCH
, MINOR
. Mỗi phần tử phải tăng dần 1.9.0 -> 1.10.0 -> 1.11.0
. Những con số này phải là số nguyên dương và không có số 0 đằng trước.
2.2 Khi một package
đã được release. Không được phép tiến hành thay đổi nội dung trong version
đó, mà phải release ở một version
khác. Dù sự thay đổi là nhỏ nhất.
2.3 Major version zero(0.y.z)
dành cho việc phát triển. Đây không được coi là một bản ổn định cho việc sử dụng.
2.4 Version 1.0.0
định nghĩa cho việc release
lần đầu tiên. Việc quyết định X, Y, Z sẽ tăng lên trong những lần release tiếp theo phụ thuộc vào các hoàn cảnh khác nhau.
2.5 Patch version Z (x.y.Z | x > 0)
phải được tăng lên cho mỗi lần sửa lỗi.
2.6 Minor version Y (x.Y.z | x > 0)
phải được tăng lên nếu có gì đó mới, mà tương thích với bản cũ. Nó cũng phải được tăng lên nếu một chức năng nào đó trong API không dùng đến. Nó có thể được tăng nên nếu có cải tiến trong code. Patch version
phải reset về 0 nếu Minor version
tăng lên.
2.7 Major version X (X.y.z | X > 0)
phải được tăng lên nếu có sự thay đổi lớn, không tương thích với bản cũ. Nó có thể bao gồm cả sự thay đổi của Y, Z
. Patch
và minor
phải được reset về 0 nếu X
được tăng lên.
2.8 Các bản pre-release
có thể biểu diễn thêm bằng cách thêm kí tự gạch ngang (-) đi kèm với kí tự ASCII
. Bản pre-release
báo hiệu rằng đây không phải là một version
hoàn chỉnh. Ví dụ như 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.–.
Semantic Versioning Homepage:
Giải thích về Semver: