Helm 차트 릴리스
차트 버전 관리
주요 릴리스
-
주요 릴리스는 차트 또는 GitLab 릴리스의 중요한 이정표 또는 주요 변경 사항을 위한 것입니다.
-
우리는 주요 버전 번호를 증가시킵니다.
번경 사항
- 의미있는 추가 사항 또는 변경 사항.
- GitLab이나 차트에서의 팽창 변경.
- GitLab 이미지의 주요 업데이트 (예: 12.0.0 릴리스).
마이너 릴리스
- 마이너 릴리스는 GitLab 이미지의 마이너 릴리스 및 차트에서의 변경 사항에 따라 반복됩니다.
- 우리는 이를 증가시킵니다.
패치 릴리즈
-
이전 릴리즈에 대한 매우 안정적인 업데이트를 포함하는 변경 사항에 대한 패치 릴리스.
-
우리는 이를 증가시킵니다.
예제 릴리즈 시나리오
차트 버전 | GitLab 버전 | 릴리스 시나리오 |
---|---|---|
0.2.0
| 11.0.0
| GitLab 11 릴리스 및 차트 베타 |
0.2.1
| 11.0.1
| GitLab 패치 릴리스 |
… | … | … |
차트 릴리즈
차트의 새 버전 릴리즈는 릴리스 도구 리포지터리의 Helm 릴리스 작업에서 처리됩니다.
릴리스는 GitLab 릴리스의 일부로 진행됩니다. 필요한 경우 Distribution 팀은 추가적인 차트 릴리스를 시작할 수 있습니다. 릴리스 도구는 차트를 패키징하고 발행하는 파이프라인을 트리거합니다. charts.gitlab.io
리포지터리의 release_chart
작업을 참조하세요.
또한, 릴리스 도구는 다음을 자동화합니다.
- 변경 로그
- 차트 버전
- 차트 appVersions
-
global.gitlabVersion
값 및 - GitLab 버전에서 차트 버전 매핑
개발 빌드
마스터로의 모든 Merge에 대해 개발 차트 버전이 작성됩니다.
devel
채널을 사용하여 특정 버전의 현재 비 프로덕션 “개발” 릴리스를 추적할 수 있습니다.
helm repo add gitlab-devel https://gitlab.com/api/v4/projects/3828396/packages/helm/devel
그리고 --devel
옵션을 사용하여 특정 릴리스를 가리키는 helm
에서 --devel
옵션을 사용할 수 있습니다.
helm install --devel --version 1.2.3-4567 gitlab-devel/gitlab
사용 가능한 devel
버전을 나열하려면:
helm search repo gitlab-devel --devel
매뉴얼으로 차트 릴리스
차트를 매뉴얼으로 릴리스하기 전에, 릴리스할 차트 버전의 안전 브랜치에서 master
의 모든 차트 변경 사항이 복사되었는지 확인하세요.
예를 들어, 차트의 버전 0.2.1
을 릴리스하려면 변경 사항이 0-2-stable
에 있어야 합니다.
릴리스하는 방법과 일치하는 ChattOps 명령이 있습니다. 해당 릴리스 Slack 채널(예: #f_release_12_4
)에서 다음 명령을 실행하십시오.
/chatops run helm tag <charts version> <GitLab version>
또는 다음과 같이 매뉴얼으로 실행할 수도 있습니다. ChattOps 명령을 사용하지 않는 방법은 다음과 같습니다.
-
릴리스 도구 리포지터리를 체크아웃하고 설정하세요.
git clone git@gitlab.com:gitlab-org/release-tools.git bundle install
-
그런 다음 해당 Helm 릴리스 작업을 실행하세요.
- GitLab 앱 버전을 변경하지 않고 릴리스하려면, 새로운 차트 버전(예:
0.2.1
)으로 릴리스 작업을 호출하세요.bundle exec rake release:helm:tag[0.2.1]
- 차트 버전과 앱 버전 모두 변경하여 릴리스하려면 (예: GitLab
11.0.1
과 함께0.2.1
)bundle exec rake release:helm:tag[0.2.1,11.0.1]
환경변수에서
TEST=true
를 설정하여 푸시를 방지하는 드라이럼 모드에서 스크립트를 실행할 수 있습니다. - GitLab 앱 버전을 변경하지 않고 릴리스하려면, 새로운 차트 버전(예: