Bazel 4.0 이상은 장기 지원 (LTS) 출시 버전과 롤링 출시 버전의 두 가지 출시 트랙을 지원합니다. 이 페이지에서는 Bazel의 버전 관리, 출시 유형, Bazel 사용자 및 기여자를 위한 출시 버전의 이점을 다룹니다.
Bazel의 버전 관리 이해
Bazel은 major.minor.patch 시맨틱 버전 관리 스키마를 사용합니다.
- 주요 릴리스에는 이전 릴리스와 하위 호환되지 않는 기능이 포함되어 있습니다.
- 부 출시 버전 에는 새로운 하위 호환 기능이 포함되어 있습니다.
- 패치 출시 버전 에는 사소한 변경사항과 버그 수정이 포함되어 있습니다.
버전 3.5.1을 예로 들어 각 유형의 새 출시 버전은 다음과 같은 버전 번호로 이어집니다.
- 주: 4.0
- 부: 3.6
- 패치: 3.5.2
Bazel의 출시 주기
Bazel은 롤링 출시 버전을 지속적으로 게시합니다. 모든 주 버전은 LTS 출시 버전입니다. 한 LTS 출시 버전에서 다음 LTS 출시 버전으로 업데이트하거나 각 부 버전 출시 버전으로 업데이트하는 출시 주기를 선택할 수 있습니다.
이 이미지는 롤링 출시 버전과 LTS 출시 버전, 각 출시 버전에 대한 예상 지원을 보여줍니다.

그림 1. 롤링 출시 버전 및 LTS 출시 버전
출시 브랜치
각 주 버전은 출시 시 별도의 개발 브랜치가 됩니다. 헤드의 Bazel 출시 버전으로 업데이트하지 않고도 브랜치에서 중요한 버그를 수정할 수 있습니다. 주 버전 브랜치의 추가 기능은 부 출시 버전이 되고 브랜치의 가장 높은 버전은 지원되는 버전이 됩니다.
각 Bazel 출시 버전은 함께 작동하는 권장 규칙 버전 목록과 페어링되며 각 브랜치 내에서 엄격한 하위 호환성이 있습니다.
LTS 출시 버전
LTS 출시 버전은 출시 후 3년 간 지원되는 주 버전 (예: 4.0)입니다. 주 버전은 약 9개월마다 출시됩니다.
출시 브랜치에서 진행 중인 개발로 인해 부 버전이 생성됩니다.
프로젝트를 주 버전에 고정하고 원하는 시간에 최신 버전으로 업데이트할 수 있습니다. 이렇게 하면 예정된 변경사항을 미리 보고 미리 적응할 수 있습니다.
롤링 출시 버전
롤링 출시 버전은 Bazel의 기본 브랜치에서 주기적으로 잘립니다. 이 출시 주기에는 Google의 내부 Blaze 출시 버전과 동기화되는 다음 주 Bazel 버전의 미리보기 출시 버전이 지속적으로 제공됩니다.
새 롤링 출시 버전에는 이전 출시 버전과 호환되지 않는 주요 변경사항이 포함될 수 있습니다.
롤링 출시 버전은 Bazel CI의 Bazel 테스트 모음과
Google의 내부 테스트 모음에서 테스트됩니다. 호환되지 않는 플래그를 사용하여 새 기능으로의 마이그레이션 부담을 줄일 수 있지만 기본 동작은 롤링 출시 버전마다 변경될 수 있습니다. (롤링 출시 버전을 사용하여
다음 LTS 버전을 미리 볼 수도 있습니다. 예를 들어 5.0.0-pre.20210604.6은 2021-06-04의 후보 컷을 기반으로 하며 5.0 LTS 출시 버전을 향한 마일스톤을 나타냅니다.)
GitHub에서 최신 롤링 출시 버전을 다운로드할 수 있습니다. GitHub. 또는 Bazelisk v1.9.0 (이상)을 설정하여 특정 버전 이름 또는 최신 롤링 출시 버전을 사용하는 '롤링' 식별자를 사용할 수 있습니다. 자세한 내용은 Bazelisk 문서를 참고하세요.
버전 업데이트
- Bazel 버전 업데이트에 관한 자세한 내용은 Bazel 업데이트를 참고하세요.
- 새 Bazel 출시 버전에 업데이트를 기여하는 방법에 관한 자세한 내용은 Bazel에 기여를 참고하세요.