사용자 정의 환경 변수 설정

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

필요한 경우 Puma, Sidekiq, Rails 및 Rake에서 사용할 사용자 정의 환경 변수를 /etc/gitlab/gitlab.rb를 통해 설정할 수 있습니다. 이는 인터넷에 액세스하기 위해 프록시를 사용해야 하거나 외부 호스트 저장소를 GitLab에 직접 복제해야 하는 상황에서 유용할 수 있습니다. /etc/gitlab/gitlab.rb에 해시 값이 포함된 gitlab_rails['env']를 제공하면 됩니다. 예를 들면:

gitlab_rails['env'] = {
    "http_proxy" => "http://USERNAME:PASSWORD@example.com:8080",
    "https_proxy" => "http://USERNAME:PASSWORD@example.com:8080"
#    "no_proxy" => ".yourdomain.com"  # 내부 도메인을 프록시 제외 목록으로 지정하는 경우 와일드카드 구문
}

또한 GitLab 구성 요소의 다른 환경 변수를 재정의할 수도 있습니다. 이는 프록시 뒤에 있는 경우 필요할 수 있습니다.

# Git 복제를 프록시하는 데 필요
gitaly['env'] = {
    "http_proxy" => "http://USERNAME:PASSWORD@example.com:8080",
    "https_proxy" => "http://USERNAME:PASSWORD@example.com:8080"
}

gitlab_workhorse['env'] = {
    "http_proxy" => "http://USERNAME:PASSWORD@example.com:8080",
    "https_proxy" => "http://USERNAME:PASSWORD@example.com:8080"
}

gitlab_pages['env'] = {
    "http_proxy" => "http://USERNAME:PASSWORD@example.com:8080",
    "https_proxy" => "http://USERNAME:PASSWORD@example.com:8080"
}

# Docker 레지스트리를 사용하는 경우
registry['env'] = {
    "http_proxy" => "http://USERNAME:PASSWORD@example.com:8080",
    "https_proxy" => "http://USERNAME:PASSWORD@example.com:8080"
}

GitLab은 프록시 URL에 사용자 이름과 암호가 포함된 경우 HTTP 기본 인증을 시도합니다.

프록시 설정은 globing을 위해 . 구문을 사용합니다.

일반적으로 프록시 URL 값은 SSL 인증서 및 SSL이 활성화된 경우에만 http://으로 지정해야 합니다. 이는 https_proxy 값에 대해서도 일반적으로 http://USERNAME:PASSWORD@example.com:8080과 같은 값으로 지정해야 한다는 것을 의미합니다.

참고: HTTP_PROXY 또는 HTTPS_PROXY 환경 변수 중 하나가 설정되고 도메인 DNS를 해석할 수 없는 경우 DNS 재바인딩 보호가 비활성화됩니다.

변경 사항 적용

환경 변수에 대한 모든 변경 사항은 적용되려면 다시 구성해야 합니다.

재구성 수행:

sudo gitlab-ctl reconfigure