...
파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용
컨테이너 레지스트리 활성화
옴니버스 깃랩 설치
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) 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) 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