Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용

컨테이너 레지스트리 활성화

  1. 옴니버스 깃랩 설치

  • GitLab 12.5부터 Let 's Encrypt 통합에 내장 된 Omnibus GitLab을 사용하는 경우 컨테이너 레지스트리는 기본 도메인의 포트 5050에서 자동으로 활성화됩니다.

  • 별도의 도메인을 사용하려면 컨테이너 레지스트리가 수신 할 도메인 이름을 구성하기만 하면 됩니다.

2. 소스에서 설치

1) 직접 레지스트리 를 설치해야합니다 .

2) 설치가 완료된 후 gitlab.yml 활성화하려면 레지스트리 설정을 구성해야 합니다.

3) 아래에있는 샘플 NGINX 구성 파일을 사용하고 , 및 TLS 인증서 경로와 일치하도록 편집하십시오.
lib/support/nginx/registry-ssl

gitlab.yml 내용은 다음과 같습니다.

Code Block
registry:
  enabled: true
  host: registry.gitlab.example.com
  port: 5005
  api_url: http://localhost:5000/
  key: config/registry.key
  path: shared/registry
  issuer: gitlab-issuer

Parameter

Description

enabled

true / false  GitLab에서 레지스트리를 활성화합니다.  (Default False)

host

레지스트리가 실행되고 사용자가 사용할수 있는 호스트 URL입니다.

port

외부 레지스트리 도메인이 사용할 포트입니다.

api_url

레지스트리가 노출되는 내부 API URL입니다. 기본값은 http://localhost:5000입니다.

key

Registry의 개인 키 위치입니다.

path

이것은 Registry에 지정된 것과 동일한 디렉토리 이여야 합니다 이 경로는 GitLab 사용자, 웹 서버 사용자 및 레지스트리 사용자가 읽을 수 있어야합니다.

issuer

이것은 Registry에 구성된 값과 같아야합니다.

기존 GitLab 도메인에서 컨테이너 레지스트리 구성

  • 레지스트리가 기존 GitLab 도메인을 사용하도록 구성된 경우 기존 GitLab TLS 인증서를 재사용 할 수 있도록 포트에 레지스트리를 표시 할 수 있습니다.

  • Registry 포트 (Default 5000)와 다른 포트를 선택해야 충돌이 발생하지 않습니다.

  1. 옴니버스 깃랩 설치

1) GitLab에 의해 사용되는 기존 TLS 인증서와 키의 경로뿐만 아니라 레지스트리 URL을 포함해야 합니다
/etc/gitlab/gitlab.rb

registry_external_url 'https://gitlab.example.com:4567'

TLS 인증서가없고 /etc/gitlab/ssl/gitlab.example.com.crt 키를 /etc/gitlab/ssl/gitlab.example.com.key 주석 처리 하지 않은 경우 아래 행을 주석 해제.

Code Block
registry_nginx['ssl_certificate'] = "/path/to/certificate.pem"
registry_nginx['ssl_certificate_key'] = "/path/to/certificate.key"

2) 파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용.

3) 다음을 사용하여 확인.

openssl s_client -showcerts -servername gitlab.example.com -connect gitlab.example.com:443 > cacert.pem

2. 소스에서 설치

1) registry 설정을 아래와 같이 구성
/home/git/gitlab/config/gitlab.yml

Code Block
registry:
  enabled: true
  host: gitlab.example.com
  port: 4567

2) 변경 사항을 적용 하려면 파일을 저장하고 GitLab 을 재시작
3) NGINX (도메인, 포트, TLS 인증서 경로)에서도 관련 사항을 변경

  • 사용자는 다음을 사용하여 GitLab Credentials 컨테이너 레지스트리에 로그인 할 수 있어야 합니다.

docker login gitlab.example.com:4567

자체 도메인에서 컨테이너 레지스트리 구성

  • 레지스트리가 자체 도메인을 사용하도록 구성된 경우 해당 특정 도메인에 대한 TLS 인증서 또는 기존GitLab 도메인의 하위 도메인에서 호스팅되는 경우 와일드 카드 인증서가 필요합니다

  • 수동으로 생성 된 SSL 인증서 (여기 설명)뿐만 아니라 Let 's Encrypt에 의해 자동으로 생성 된 인증서도 Omnibus 설치에서 지원됩니다.

  1. 옴니버스 깃랩 설치

1) TLS 인증서와 키를 입력하고 올바른 권한이 있는지 확인
/etc/gitlab/ssl/registry.gitlab.example.com.key
/etc/gitlab/ssl/registry.gitlab.example.com.crt

2) TLS 인증서가 작성되면 다음을 사용하여 편집 
/etc/gitlab/gitlab.rb

registry_external_url 'https://registry.gitlab.example.com'

3) 파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용
와일드 카드 인증서가 있는 경우 URL 외에 인증서 경로를 지정
/etc/gitlab/gitlab.rb

Code Block
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/certificate.pem" 
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/certificate.key"

2. 소스에서 설치

 registry 다음 설정으로 구성
/home/git/gitlab/config/gitlab.yml

Code Block
registry:
  enabled: true
  host: registry.gitlab.example.com

1) 변경 사항을 적용 하려면 파일을 저장하고 GitLab 을 재시작
2) NGINX (도메인, 포트, TLS 인증서 경로)에서도 관련 사항을 변경

  • 사용자는 이제 GitLab Credentials을 사용하여 컨테이너 레지스트리에 로그인 할 수 있어야 합니다.

docker login registry.gitlab.example.com