상대 URL로 GitLab 설치하기

Tier: Free, Premium, Ultimate Offering: Self-Managed

GitLab은 보통 자체 (하위) 도메인에 설치해야 하지만, 다양한 이유로 그렇게 할 수 없는 경우가 있습니다. 이 경우 GitLab은 상대 URL 아래에도 설치할 수 있습니다. 예를 들어 https://example.com/gitlab와 같이 상대 URL 아래에 설치할 수 있습니다.

이 문서는 소스에서 GitLab을 상대 URL 아래에서 실행하는 방법을 설명합니다. 공식 Linux 패키지를 사용하는 경우, 단계가 다릅니다. GitLab을 처음 설치하는 경우, 설치 가이드와 함께 이 가이드를 사용하십시오.

상대 URL이 얼마나 깊이 중첩되어도 상관없습니다. 예를 들어 /foo/bar/gitlab/git 아래에서 GitLab을 문제없이 사용할 수 있습니다.

기존의 GitLab 설치에서 URL을 변경하면 모든 원격 URL이 변경되므로 GitLab 인스턴스를 가리키는 모든 로컬 저장소에서 수동으로 편집해야 합니다.

GitLab을 상대 URL에서 제공하도록 구성해야 하는 구성 파일 목록은 다음과 같습니다.

  • /home/git/gitlab/config/initializers/relative_url.rb
  • /home/git/gitlab/config/gitlab.yml
  • /home/git/gitlab/config/puma.rb
  • /home/git/gitlab-shell/config.yml
  • /etc/default/gitlab

모든 변경 사항 이후에는 자산을 다시 컴파일하고 GitLab을 다시 시작해야 합니다.

상대 URL 요구 사항

GitLab을 상대 URL로 구성하면 자산(JavaScript, CSS, 글ꔈ자 및 이미지 포함)을 다시 컴파일해야 하며, 이는 많은 CPU 및 메모리 자원을 소비할 수 있습니다. 메모리 부족 오류를 피하려면 컴퓨터에서 최소한 2GB 이상의 RAM이 있어야 하며, 4GB RAM 및 4개 또는 8개의 CPU 코어를 권장합니다.

자세한 정보는 요구 사항 문서를 참조하십시오.

GitLab에서 상대 URL 활성화

참고: 상대 URL을 사용하여 GitLab을 구성하는 경우, 상대 URL 지원은 GitLab Workhorse에서 구현됩니다.


GitLab에서 상대 URL을 활성화하기 전에 다음과 같은 가정을 하고 진행합니다.

  • GitLab이 /gitlab 아래에서 제공됩니다.
  • GitLab이 설치된 디렉토리가 /home/git/입니다.

아래 단계를 모두 따르십시오.

  1. 선택 사항. 자원이 부족한 경우 다음 명령을 사용하여 GitLab 서비스를 일시적으로 중지하여 일부 메모리를 확보할 수 있습니다.

    sudo service gitlab stop
    
  2. /home/git/gitlab/config/initializers/relative_url.rb를 생성하십시오.

    cp /home/git/gitlab/config/initializers/relative_url.rb.sample \
       /home/git/gitlab/config/initializers/relative_url.rb
    

    그리고 다음 줄을 변경하십시오.

    config.relative_url_root = "/gitlab"
    
  3. /home/git/gitlab/config/gitlab.yml을 편집하고 다음 줄을 주석 처리하거나 변경하십시오.

    relative_url_root: /gitlab
    
  4. /home/git/gitlab/config/puma.rb을 편집하고 다음 줄을 주석 처리하거나 변경하십시오.

    ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab"
    
  5. /home/git/gitlab-shell/config.yml을 편집하고 상대 경로를 다음 줄에 추가하십시오.

    gitlab_url: http://127.0.0.1/gitlab
    
  6. 제공된 systemd 서비스 또는 init 스크립트 및 defaults 파일을 복사한 후 설치 가이드에 명시된 대로 /etc/default/gitlab을 편집하고 gitlab_workhorse_options을 다음과 같이 설정하십시오.

    -authBackend http://127.0.0.1:8080/gitlab
    

    참고: 사용자 정의 init 스크립트를 사용하는 경우 필요에 따라 위의 GitLab Workhorse 설정을 편집하십시오.

  7. 변경 사항이 적용되려면 GitLab을 다시 시작하십시오.

GitLab에서 상대 URL 비활성화

상대 URL을 비활성화하려면 다음 단계를 따르십시오.

  1. /home/git/gitlab/config/initializers/relative_url.rb를 제거하십시오.

  2. 2번부터 시작하여 GitLab URL을 상대 경로를 포함하지 않은 URL로 설정하십시오.