Tạo phiên bản

Bazel 4.0 trở lên hỗ trợ 2 kênh phát hành: bản phát hành hỗ trợ dài hạn (LTS) và bản phát hành liên tục. Trang này trình bày về việc tạo phiên bản trong Bazel, các loại bản phát hành và lợi ích của những bản phát hành đó đối với người dùng và người đóng góp Bazel.

Tìm hiểu về việc tạo phiên bản trên Bazel

Bazel sử dụng một major.minor.patch lược đồ tạo phiên bản ngữ nghĩa.

  • Một bản phát hành chính chứa các tính năng không tương thích ngược với bản phát hành trước đó.
  • Một bản phát hành phụ chứa các tính năng mới tương thích ngược.
  • Bản phát hành bản vá chứa các thay đổi nhỏ và bản sửa lỗi.

Lấy phiên bản 3.5.1 làm ví dụ, một bản phát hành mới của mỗi loại sẽ tạo ra các số phiên bản sau:

  • Chính: 4.0
  • Phụ: 3.6
  • Bản vá: 3.5.2

Chu kỳ phát hành của Bazel

Bazel liên tục phát hành các bản phát hành liên tục. Mỗi phiên bản chính là một bản phát hành LTS. Bạn có thể chọn tuân theo một trong hai nhịp độ phát hành – cập nhật từ một bản phát hành LTS sang bản phát hành LTS tiếp theo hoặc cập nhật với mỗi bản phát hành phiên bản phụ.

Hình ảnh này cho thấy cả bản phát hành liên tục và bản phát hành LTS, cũng như mức hỗ trợ dự kiến cho từng bản phát hành.

Lộ trình

Hình 1. Bản phát hành liên tục và bản phát hành LTS.

Phân nhánh phát hành

Mỗi phiên bản chính sẽ trở thành một nhánh phát triển riêng biệt khi phát hành. Bạn có thể nhận bản sửa lỗi cho các lỗi nghiêm trọng trên nhánh đó mà không cần cập nhật lên bản phát hành Bazel ở đầu. Các tính năng bổ sung trên nhánh phiên bản chính sẽ trở thành bản phát hành phiên bản phụ và phiên bản cao nhất trên nhánh là phiên bản được hỗ trợ.

Mỗi bản phát hành Bazel được ghép nối với một danh sách các phiên bản quy tắc được đề xuất hoạt động cùng nhau và có khả năng tương thích ngược nghiêm ngặt trong mỗi nhánh.

Bản phát hành LTS

Bản phát hành LTS là một phiên bản chính (chẳng hạn như 4.0) được hỗ trợ trong 3 năm sau khi phát hành. Một phiên bản chính được phát hành khoảng 9 tháng một lần.

Việc phát triển liên tục trên một nhánh phát hành sẽ tạo ra các phiên bản phụ.

Bạn có thể chọn ghim dự án của mình vào một bản phát hành chính và cập nhật lên phiên bản mới hơn vào thời gian của riêng bạn. Điều này giúp bạn có thời gian xem trước các thay đổi sắp tới và thích ứng với các thay đổi đó trước.

Bản phát hành liên tục

Bản phát hành liên tục được cắt định kỳ từ nhánh chính của Bazel. Nhịp độ phát hành này liên quan đến việc phân phối liên tục các bản phát hành xem trước của phiên bản Bazel chính tiếp theo, đồng bộ với các bản phát hành Blaze nội bộ của Google.

Xin lưu ý rằng bản phát hành liên tục mới có thể chứa các thay đổi mang tính đột phá không tương thích với các bản phát hành trước đó.

Bản phát hành liên tục được kiểm thử trên bộ kiểm thử của Bazel trên Bazel CI và bộ kiểm thử nội bộ của Google. Bạn có thể sử dụng các cờ không tương thích để giảm bớt gánh nặng khi di chuyển sang chức năng mới, nhưng hành vi mặc định có thể thay đổi theo bất kỳ bản phát hành liên tục nào. (Bạn cũng có thể sử dụng bản phát hành liên tục để xem trước phiên bản LTS tiếp theo. Ví dụ: 5.0.0-pre.20210604.6 dựa trên một ứng cử viên được cắt vào ngày 2021-06-04 và thể hiện một cột mốc hướng tới bản phát hành LTS 5.0.)

Bạn có thể tải bản phát hành liên tục mới nhất xuống từ GitHub. Ngoài ra, bạn có thể thiết lập Bazelisk phiên bản 1.9.0 (hoặc phiên bản mới hơn) để sử dụng tên phiên bản cụ thể hoặc mã nhận dạng “rolling” (liên tục), sử dụng bản phát hành liên tục gần đây nhất. Để biết thêm thông tin chi tiết, hãy xem tài liệu về Bazelisk.

Cập nhật phiên bản

  • Để biết thêm thông tin về cách cập nhật phiên bản Bazel, hãy xem bài viết Cập nhật Bazel.
  • Để biết thêm thông tin về cách đóng góp bản cập nhật cho các bản phát hành Bazel mới, hãy xem bài viết Đóng góp cho Bazel.