InfoGrab DocsInfoGrab Docs

GitLab Shell 프로세스

요약

GitLab Shell은 Git 태그로 버전을 관리하며, Rails 애플리케이션에서 사용하는 버전은 GITLAB_SHELL_VERSION에 저장됩니다. 각 버전에는 raw 버전과 태그 버전이 있습니다. raw 버전은 버전 번호입니다.

새 버전 릴리즈#

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

각 버전에는 raw 버전과 태그 버전이 있습니다.

  • raw 버전은 버전 번호입니다. 예: 15.2.8.

  • 태그 버전은 raw 버전 앞에 v를 붙인 것입니다. 예: v15.2.8.

GitLab Shell의 새 버전을 릴리즈하고 Rails 애플리케이션에서 해당 버전을 사용할 수 있게 하려면 다음 단계를 따르세요.

  • 태그 버전으로 CHANGELOG를 업데이트하고, raw 버전으로 VERSION 파일을 업데이트하는 머지 리퀘스트를 생성합니다.

  • 메인테이너에게 머지 리퀘스트를 리뷰하고 머지해 달라고 요청합니다. 이미 메인테이너라면 두 번째 메인테이너 리뷰는 필요하지 않습니다.

  • 태그 버전으로 새 Git 태그를 추가합니다.

  • Rails 애플리케이션의 GITLAB_SHELL_VERSION을 raw 버전으로 업데이트합니다.

    이 작업은 별도의 머지 리퀘스트로 진행하거나, 최신 GitLab Shell 변경 사항을 사용하는 머지 리퀘스트에 포함할 수 있습니다.

    Gitaly와 관련된 GitLab Shell의 새 기능을 개발할 때는 Gitaly 버전 호환성 요구사항에 관한 가이드라인을 따라야 합니다.

보안 릴리즈#

GitLab Shell은 GitLab용으로 생성하는 패키지에 포함됩니다. 각 버전의 GitLab은 GITLAB_SHELL_VERSION 파일에서 사용하는 GitLab Shell 버전을 지정합니다. 이 명세로 인해 GitLab Shell의 보안 수정 사항은 GitLab 패치 릴리즈 워크플로와 긴밀하게 연계됩니다.

GitLab Shell의 보안 수정을 위해서는 두 가지 머지 리퀘스트 세트가 필요합니다.

  • gitlab-org/security/gitlab-shell 리포지터리의 수정 자체와, 이전 버전의 GitLab Shell에 대한 백포트.

  • gitlab-org/security/gitlab 리포지터리에서 GitLab 패치 릴리즈에 포함된 GitLab Shell 버전을 변경하는 머지 리퀘스트.

첫 번째 단계로 gitlab-org/security/gitlab-shellmain을 타깃으로 하는 수정 머지 리퀘스트를 생성할 수 있습니다. 메인테이너가 머지 리퀘스트를 승인하면, 이전 3개 버전의 GitLab Shell을 타깃으로 하는 백포트를 생성해야 합니다. 해당 버전의 stable 브랜치가 존재하지 않을 수 있으므로, 메인테이너에게 생성을 요청해도 됩니다. stable 브랜치는 이전 3개 GitLab 릴리즈에서 사용되는 GitLab Shell 태그 또는 버전을 기반으로 생성되어야 합니다.

특정 GitLab stable 릴리즈에서 사용된 GitLab Shell 버전을 확인하려면, 13-9-stable-ee를 원하는 버전으로 교체하여 다음 명령어를 실행하세요. 이 명령어들은 GitLab 13.9 버전에서 사용된 버전을 표시합니다.

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 메인테이너는 gitlab-org/gitlab-shell 리포지터리에 태그와 main을 동기화할 책임이 있습니다.

GitLab Shell 프로세스

GitLab v19.1
원문 보기
요약

GitLab Shell은 Git 태그로 버전을 관리하며, Rails 애플리케이션에서 사용하는 버전은 GITLAB_SHELL_VERSION에 저장됩니다. 각 버전에는 raw 버전과 태그 버전이 있습니다. raw 버전은 버전 번호입니다.

새 버전 릴리즈#

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

각 버전에는 raw 버전과 태그 버전이 있습니다.

  • raw 버전은 버전 번호입니다. 예: 15.2.8.

  • 태그 버전은 raw 버전 앞에 v를 붙인 것입니다. 예: v15.2.8.

GitLab Shell의 새 버전을 릴리즈하고 Rails 애플리케이션에서 해당 버전을 사용할 수 있게 하려면 다음 단계를 따르세요.

  • 태그 버전으로 CHANGELOG를 업데이트하고, raw 버전으로 VERSION 파일을 업데이트하는 머지 리퀘스트를 생성합니다.

  • 메인테이너에게 머지 리퀘스트를 리뷰하고 머지해 달라고 요청합니다. 이미 메인테이너라면 두 번째 메인테이너 리뷰는 필요하지 않습니다.

  • 태그 버전으로 새 Git 태그를 추가합니다.

  • Rails 애플리케이션의 GITLAB_SHELL_VERSION을 raw 버전으로 업데이트합니다.

    이 작업은 별도의 머지 리퀘스트로 진행하거나, 최신 GitLab Shell 변경 사항을 사용하는 머지 리퀘스트에 포함할 수 있습니다.

    Gitaly와 관련된 GitLab Shell의 새 기능을 개발할 때는 Gitaly 버전 호환성 요구사항에 관한 가이드라인을 따라야 합니다.

보안 릴리즈#

GitLab Shell은 GitLab용으로 생성하는 패키지에 포함됩니다. 각 버전의 GitLab은 GITLAB_SHELL_VERSION 파일에서 사용하는 GitLab Shell 버전을 지정합니다. 이 명세로 인해 GitLab Shell의 보안 수정 사항은 GitLab 패치 릴리즈 워크플로와 긴밀하게 연계됩니다.

GitLab Shell의 보안 수정을 위해서는 두 가지 머지 리퀘스트 세트가 필요합니다.

  • gitlab-org/security/gitlab-shell 리포지터리의 수정 자체와, 이전 버전의 GitLab Shell에 대한 백포트.

  • gitlab-org/security/gitlab 리포지터리에서 GitLab 패치 릴리즈에 포함된 GitLab Shell 버전을 변경하는 머지 리퀘스트.

첫 번째 단계로 gitlab-org/security/gitlab-shellmain을 타깃으로 하는 수정 머지 리퀘스트를 생성할 수 있습니다. 메인테이너가 머지 리퀘스트를 승인하면, 이전 3개 버전의 GitLab Shell을 타깃으로 하는 백포트를 생성해야 합니다. 해당 버전의 stable 브랜치가 존재하지 않을 수 있으므로, 메인테이너에게 생성을 요청해도 됩니다. stable 브랜치는 이전 3개 GitLab 릴리즈에서 사용되는 GitLab Shell 태그 또는 버전을 기반으로 생성되어야 합니다.

특정 GitLab stable 릴리즈에서 사용된 GitLab Shell 버전을 확인하려면, 13-9-stable-ee를 원하는 버전으로 교체하여 다음 명령어를 실행하세요. 이 명령어들은 GitLab 13.9 버전에서 사용된 버전을 표시합니다.

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 메인테이너는 gitlab-org/gitlab-shell 리포지터리에 태그와 main을 동기화할 책임이 있습니다.