InfoGrab DocsInfoGrab Docs

GitLab Release CLI 도구 (deprecated)

요약

이 기능은 GitLab 18.0에서 deprecated되었으며 20.0에서 제거될 예정입니다. 이 변경은 호환성을 깨는 변경입니다. release-cli에서 glab CLI로 마이그레이션하려면 job 구성에 따라 다음 중 하나를 업데이트합니다.

Warning

이 기능은 GitLab 18.0에서 deprecated되었으며 20.0에서 제거될 예정입니다. 대신 GitLab CLI를 사용합니다.

이 변경은 호환성을 깨는 변경입니다.

release-cli에서 glab CLI로 마이그레이션#

release-cli에서 glab CLI로 마이그레이션하려면 job 구성에 따라 다음 중 하나를 업데이트합니다.

  1. job이 release 키워드를 사용한다면 cli:latest 이미지를 사용하도록 업데이트합니다.

    release_job:
      stage: release
      image: registry.gitlab.com/gitlab-org/cli:latest
      rules:
        - if: $CI_COMMIT_TAG
      script:
        - echo "Running the release job."
      release:
        tag_name: $CI_COMMIT_TAG
        name: 'Release $CI_COMMIT_TAG'
        description: 'Release created using the CLI.'
    

    자세한 내용은 release를 참고합니다.

  2. job이 script 블록에서 release-cli 명령을 사용한다면 glab release create를 사용하도록 업데이트하고 릴리스 API에 대한 인증을 구성합니다.

CI/CD job 토큰으로 인증#

CI_JOB_TOKEN으로 인증하려면 GLAB_ENABLE_CI_AUTOLOGIN을 true로 설정합니다. glab CLI는 CI_JOB_TOKEN을 JOB-TOKEN 헤더로 전송하며, 릴리스 API는 이 헤더를 허용합니다.

release_job:
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  variables:
    GLAB_ENABLE_CI_AUTOLOGIN: "true"
  script:
    - |
      glab release create "$CI_COMMIT_TAG" \
      --name "Release $CI_COMMIT_TAG" \
      --notes "Release created with glab."

액세스 토큰으로 인증#

개인, 프로젝트, 그룹 액세스 토큰으로 인증하려면 GITLAB_TOKEN에 해당 액세스 토큰을 설정합니다. 토큰에는 api 범위가 있어야 합니다.

release_job:
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  variables:
    GITLAB_TOKEN: $RELEASE_ACCESS_TOKEN
  script:
    - |
      glab release create "$CI_COMMIT_TAG" \
      --name "Release $CI_COMMIT_TAG" \
      --notes "Release created with glab."
Warning

GITLAB_TOKEN을 $CI_JOB_TOKEN으로 설정하지 않습니다. glab CLI는 GITLAB_TOKEN을 PRIVATE-TOKEN 헤더로 전송하지만, 릴리스 API는 JOB-TOKEN 헤더의 job 토큰만 허용합니다. 이 조합은 404 Not Found를 반환합니다. CI/CD job 토큰으로 인증하려면 GLAB_ENABLE_CI_AUTOLOGIN을 true로 설정합니다.

전체 옵션 목록은 glab release create 명령 참조 문서를 참고합니다.

release-cli로 폴백#

히스토리
  • GitLab 18.0에서 ci_glab_for_release라는 기능 플래그와 함께 도입. 기본적으로 활성화됨.
  • GitLab 18.4에서 일반 공개. 기능 플래그 ci_glab_for_release 제거됨.

release 키워드를 사용하는 CI/CD job은 러너에서 필요한 glab 버전을 사용할 수 없으면 release-cli 사용으로 폴백하는 스크립트를 사용합니다. 이 폴백 로직은 아직 glab CLI로 마이그레이션하지 않은 프로젝트가 계속 동작하도록 보장하는 안전 장치입니다.

이 폴백은 release-cli 제거와 함께 GitLab 20.0에서 제거될 예정입니다.

GitLab Release CLI 도구 (deprecated)

GitLab v19.5
원문 보기

요약

이 기능은 GitLab 18.0에서 deprecated되었으며 20.0에서 제거될 예정입니다. 이 변경은 호환성을 깨는 변경입니다. release-cli에서 glab CLI로 마이그레이션하려면 job 구성에 따라 다음 중 하나를 업데이트합니다.

Warning

이 기능은 GitLab 18.0에서 deprecated되었으며 20.0에서 제거될 예정입니다. 대신 GitLab CLI를 사용합니다.

이 변경은 호환성을 깨는 변경입니다.

release-cli에서 glab CLI로 마이그레이션#

release-cli에서 glab CLI로 마이그레이션하려면 job 구성에 따라 다음 중 하나를 업데이트합니다.

  1. job이 release 키워드를 사용한다면 cli:latest 이미지를 사용하도록 업데이트합니다.

    release_job:
      stage: release
      image: registry.gitlab.com/gitlab-org/cli:latest
      rules:
        - if: $CI_COMMIT_TAG
      script:
        - echo "Running the release job."
      release:
        tag_name: $CI_COMMIT_TAG
        name: 'Release $CI_COMMIT_TAG'
        description: 'Release created using the CLI.'
    

    자세한 내용은 release를 참고합니다.

  2. job이 script 블록에서 release-cli 명령을 사용한다면 glab release create를 사용하도록 업데이트하고 릴리스 API에 대한 인증을 구성합니다.

CI/CD job 토큰으로 인증#

CI_JOB_TOKEN으로 인증하려면 GLAB_ENABLE_CI_AUTOLOGIN을 true로 설정합니다. glab CLI는 CI_JOB_TOKEN을 JOB-TOKEN 헤더로 전송하며, 릴리스 API는 이 헤더를 허용합니다.

release_job:
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  variables:
    GLAB_ENABLE_CI_AUTOLOGIN: "true"
  script:
    - |
      glab release create "$CI_COMMIT_TAG" \
      --name "Release $CI_COMMIT_TAG" \
      --notes "Release created with glab."

액세스 토큰으로 인증#

개인, 프로젝트, 그룹 액세스 토큰으로 인증하려면 GITLAB_TOKEN에 해당 액세스 토큰을 설정합니다. 토큰에는 api 범위가 있어야 합니다.

release_job:
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  variables:
    GITLAB_TOKEN: $RELEASE_ACCESS_TOKEN
  script:
    - |
      glab release create "$CI_COMMIT_TAG" \
      --name "Release $CI_COMMIT_TAG" \
      --notes "Release created with glab."
Warning

GITLAB_TOKEN을 $CI_JOB_TOKEN으로 설정하지 않습니다. glab CLI는 GITLAB_TOKEN을 PRIVATE-TOKEN 헤더로 전송하지만, 릴리스 API는 JOB-TOKEN 헤더의 job 토큰만 허용합니다. 이 조합은 404 Not Found를 반환합니다. CI/CD job 토큰으로 인증하려면 GLAB_ENABLE_CI_AUTOLOGIN을 true로 설정합니다.

전체 옵션 목록은 glab release create 명령 참조 문서를 참고합니다.

release-cli로 폴백#

히스토리
  • GitLab 18.0에서 ci_glab_for_release라는 기능 플래그와 함께 도입. 기본적으로 활성화됨.
  • GitLab 18.4에서 일반 공개. 기능 플래그 ci_glab_for_release 제거됨.

release 키워드를 사용하는 CI/CD job은 러너에서 필요한 glab 버전을 사용할 수 없으면 release-cli 사용으로 폴백하는 스크립트를 사용합니다. 이 폴백 로직은 아직 glab CLI로 마이그레이션하지 않은 프로젝트가 계속 동작하도록 보장하는 안전 장치입니다.

이 폴백은 release-cli 제거와 함께 GitLab 20.0에서 제거될 예정입니다.