출시 버전 관리

문제 신고 소스 보기 1박 · 7.4 에서 자세한 내용을 확인하실 수 있습니다. 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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 출시와 각 출시에 대한 예상 지원이 모두 표시됩니다.

로드맵

그림 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년 6월 4일에 후보로 선정되었으며 5.0 LTS를 향한 이정표 release.)

다음에서 최신 롤링 버전을 다운로드할 수 있습니다. GitHub 또는 Bazelisk v1.9.0 이상을 설정하여 특정 버전 이름 또는 최신 롤링 출시를 사용하는 '롤링' 식별자를 사용하도록 할 수 있습니다. 자세한 내용은 Bazelisk 문서를 참고하세요.

버전 업데이트

  • Bazel 버전 업데이트에 관한 자세한 내용은 Bazel 업데이트를 참고하세요.
  • 새 Bazel 출시의 업데이트 참여에 관한 자세한 내용은 다음을 참고하세요. Bazel에 참여