상대적 URL로 GitLab 설치

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

GitLab은 일반적으로 자체 도메인 또는 서브도메인에 설치하지만 다양한 이유로 그렇게 할 수 없는 경우가 있습니다. 이 경우 GitLab을 상대적 URL로 설치할 수도 있습니다. 예를 들어 https://example.com/gitlab와 같이 설치할 수 있습니다.

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

상대적 URL의 중첩 수준에 제한이 없습니다. 예를 들어 /foo/bar/gitlab/git 안에 GitLab을 문제없이 제공할 수 있습니다.

기존의 GitLab 설치의 URL을 변경하면 모든 원격 URL이 변경되므로 GitLab 인스턴스를 가리키는 로컬 리포지터리의 모든 URL을 매뉴얼으로 편집해야 합니다.

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 요구 사항

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

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

GitLab에서 상대적 URL 활성화

note
GitLab Workhorse에 의해 상대적 URL 지원이 구현되었으므로 상대적 URL에 대한 웹 서버 구성 파일을 변경하지 마십시오.

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 스크립트 및 기본 파일을 복사한 후 /etc/default/gitlab을 편집하고 gitlab_workhorse_options에 다음과 같이 설정합니다.

    -authBackend http://127.0.0.1:8080/gitlab
    
    note
    사용자 지정 init 스크립트를 사용하는 경우 상기 GitLab Workhorse 설정을 필요에 따라 편집하십시오.
  7. 변경 사항이 적용되도록 GitLab을 다시 시작하십시오.

GitLab에서 상대적 URL 비활성화

상대적 URL을 비활성화하려면 다음을 수행하세요.

  1. /home/git/gitlab/config/initializers/relative_url.rb을 제거합니다.

  2. 2.에서 시작하여 GitLab URL을 상대 경로를 포함하지 않는 값으로 설정하십시오.