GitLab Shell 프로세스

새 버전 릴리스

GitLab Shell은 Git 태그로 버전이 지정되며, Rails 애플리케이션이 사용하는 버전은 GITLAB_SHELL_VERSION에 저장됩니다.

각 버전마다 원시 버전과 태그 버전이 있습니다:

  • 원시 버전은 버전 번호입니다. 예를 들어, 15.2.8.
  • 태그 버전v로 접두사가 붙은 원시 버전입니다. 예를 들어, v15.2.8.

GitLab Shell의 새 버전을 릴리스하고 해당 버전을 Rails 애플리케이션에서 사용할 수 있도록하려면:

  1. CHANGELOG태그 버전VERSION 파일을 원시 버전으로 업데이트하는 병합 요청을 생성합니다.
  2. 유지관리자에게 검토 및 병합을 요청합니다. 이미 유지관리자인 경우 두 번째 유지관리자 검토가 필요하지 않습니다.
  3. 태그 버전으로 새로운 Git 태그를 추가합니다.
  4. Rails 애플리케이션의 GITLAB_SHELL_VERSION원시 버전으로 업데이트합니다.

    note
    이 작업은 별도의 병합 요청으로 수행하거나 가장 최신의 GitLab Shell 변경 사항을 사용하는 병합 요청에서 수행할 수 있습니다.

보안 릴리스

GitLab Shell은 GitLab을 위해 생성하는 패키지에 포함됩니다. 각 GitLab 버전은 GITLAB_SHELL_VERSION 파일에 사용하는 GitLab Shell 버전을 지정합니다. 이 사양 때문에 GitLab Shell의 보안 수정은 GitLab 보안 릴리스 워크플로에 엄격하게 결합됩니다.

GitLab Shell의 보안 수정을 위해서는 두 세트의 병합 요청이 필요합니다:

  1. gitlab-org/security/gitlab-shell 리포지토리에서 수정 자체 및 GitLab Shell의 이전 버전에 대한 백포트.
  2. gitlab-org/security/gitlab 리포지토리에서 GitLab 보안 릴리스에 포함된 GitLab Shell 버전을 변경하는 병합 요청.

첫 번째 단계는 gitlab-org/security/gitlab-shellmain을 대상으로 한 수정을 가진 병합 요청을 생성하는 것입니다. 병합 요청이 유지관리자에의해 승인되면, GitLab Shell의 이전 3개 버전에 대한 백포트를 생성해야 합니다. 이러한 버전에 대한 안정적인 브랜치가 존재하지 않을 수 있으므로 유지관리자에게 그것을 생성하도록 요청하세요. 안정적인 브랜치는 3개 이전의 GitLab 릴리스에서 사용하는 GitLab Shell 태그 또는 버전에서 생성되어야 합니다.

특정 GitLab 안정 버전에서 사용된 GitLab Shell 버전을 확인하려면, 아래 명령을 실행합니다. 확인하려는 버전으로 13-9-stable-ee를 대체하세요. 이 명령은 13.9 버전의 GitLab에서 사용된 버전을 보여줍니다:

git fetch security 13-9-stable-ee
git show refs/remotes/security/13-9-stable-ee:GITLAB_SHELL_VERSION

GitLab 보안 릴리스에서 가까워지면, 유지관리자는 수정과 백포트를 병합하고 필요한 모든 GitLab Shell 버전을 릴리스해야 합니다. 이는 gitlab-org/security/gitlabGITLAB_SHELL_VERSION을 증가시키는 것을 가능하게 합니다. GitLab 병합 요청은 일반적인 GitLab 보안 릴리스 프로세스에 따라 처리됩니다.

보안 릴리스가 완료되면, GitLab Shell 유지관리자는 태그와 maingitlab-org/gitlab-shell 리포지토리에 동기화하는 책임을 집니다.