버전 관리

GitLab Operator는 semver 버전 관리를 사용합니다. 버전 태그는 semver 버전 문자열이어야 합니다.

문서

Operator 문서는 doc/ 디렉토리에서 사용할 수 있습니다.

레드햇 인증

릴리즈 파이프라인에는 리포지토리가 semver 버전으로 태그가 붙었을 때 certification_upload 작업이 포함됩니다 (예: 1.0.0). 이 작업은 Red Hat API를 트리거하여 이미지가 Red Hat의 인증 파이프라인을 통과하도록 요청합니다. 인증 파이프라인의 결과는 Red Hat의 Connect 포털을 통해 게시됩니다.

릴리즈 후보 태그 (예: 1.0.0-rc1) 또는 베타 태그 (예: 1.0.0-beta1)를 사용하여 certification_upload 작업을 트리거하는 것도 가능합니다. 이를 통해 이미지는 Red Hat 인증 테스트를 통과할 수 있지만 생산 채널을 통해 이미지는 릴리즈되지 않습니다 (해당 기능이 구현되었을 때).

certification_upload 작업을 파이프라인에 추가하는 것도 가능하며, CI 변수를 REDHAT_CERTIFICATION 값을 “true”로 설정하면 됩니다.

또한, scripts/redhat_certification.rb 스크립트를 실행하고 제출된 스캔 요청의 상태를 위해 Red Hat API를 쿼리하는 것도 가능합니다. scripts/redhat_certification.rb -s를 실행하면 이미지 목록과 Red Hat 인증 파이프라인에서의 현재 상태가 표시됩니다.

GitLab CI와 독립적으로 스크립트를 실행하려면 REDHAT_API_TOKEN 환경 변수를 생성해야 합니다. 이 변수는 Connect 포털에서 생성된 개인 토큰으로 설정됩니다. GitLab CI에서 사용하는 토큰은 1Password 빌드 금고의 “Red HatCertification Token” 항목에 저장되어 있습니다.

릴리즈 재태깅

릴리즈 파이프라인이 실패하거나 다른 수정을 병합해야 릴리즈를 게시할 수 있는 경우 태그를 재생성해야 합니다.

이는 다음과 같이 수행됩니다:

  1. 필요한 수정을 안정적인 브랜치에 병합합니다.

  2. 정식 저장소에서 태그를 삭제합니다.

  3. 보안 포크에서 태그를 삭제합니다.

  4. 개발 포크에서 태그를 삭제합니다.

  5. CHART_VERSIONS가 최신인지 확인합니다.

  6. deploy/chart/Chart.yaml에 있는 appVersionversion이 최신인지 확인합니다.

  7. 안정적인 브랜치의 HEAD에서 태그를 다시 생성합니다.

    중요: 태그는 다음 형식의 설명을 반드시 포함해야 합니다: Version a.b.c - supports GitLab Charts x, y, z 이 설명이 없으면 태그는 다음 정기 릴리즈에서 릴리즈 도구에서 고려되지 않습니다.

  8. 태그 파이프라인이 통과하는지 확인합니다.

  9. 태그가 dev에 미러링되는지 확인합니다.