버전 관리

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
문제 신고 소스 보기

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-06-04 후보를 기준으로 하며 5.0 LTS 출시의 마일스톤을 나타냅니다.

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

버전 업데이트

  • Bazel 버전 업데이트에 대한 자세한 내용은 Bazel 업데이트를 참조하세요.
  • 새로운 Bazel 출시 버전에 업데이트를 제공하는 방법에 대한 자세한 내용은 Bazel 기여를 참조하세요.