Table of Contents |
---|
*이 문서는 https://docs.gitlab.com/를 참조하여 작성되었습니다.
패키지 기능을 통해 GitLab은 다음과 같은 리포지토리로 작동할 수 있습니다.
...
/etc/gitlab/gitlab.rb 다음 행을 편집 하고 추가
Code Block |
---|
gitlab_rails['packages_enabled'] = true |
파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용
...
config/gitlab.yml 다음 행을 편집 하고 추가
Code Block |
---|
packages: enabled: true |
파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용
...
/etc/gitlab/gitlab.rb 다음 행을 편집 하고 추가
Code Block |
---|
gitlab_rails['packages_storage_path'] = "/mnt/packages" |
파일을 저장하고 GitLab 을 재구성 하여 변경 사항을 적용
...
Code Block |
---|
packages:
enabled: true
##
## The location where build packages are stored (default: shared/packages).
##
#storage_path: shared/packages
object_store:
enabled: false
remote_directory: packages # The bucket name.
#direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false).
#background_upload: true # Temporary option to limit automatic upload (Default: true).
#proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage.
connection:
##
## If the provider is AWS S3, uncomment the following
##
#provider: AWS
#region: us-east-1
#aws_access_key_id: AWS_ACCESS_KEY_ID
#aws_secret_access_key: AWS_SECRET_ACCESS_KEY
##
## If the provider is other than AWS (an S3-compatible one), uncomment the following
##
#host: 's3.amazonaws.com' # default: s3.amazonaws.com.
#aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4.
#endpoint: 'https://s3.amazonaws.com' # Useful for S3-compliant services such as DigitalOcean Spaces.
#path_style: false # If true, use 'host/bucket_name/object' instead of 'bucket_name.host/object'. |
파일을 저장하고 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
Code Block |
---|
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) 다음을 사용하여 확인.
Code Block |
---|
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 컨테이너 레지스트리에 로그인 할 수 있어야 합니다.
Code Block |
---|
docker login gitlab.example.com:4567 |
자체 도메인에서 컨테이너 레지스트리 구성
레지스트리가 자체 도메인을 사용하도록 구성된 경우 해당 특정 도메인에 대한 TLS 인증서 또는 기존GitLab 도메인의 하위 도메인에서 호스팅되는 경우 와일드 카드 인증서가 필요합니다
수동으로 생성 된 SSL 인증서 (여기 설명)뿐만 아니라 Let 's Encrypt에 의해 자동으로 생성 된 인증서도 Omnibus 설치에서 지원됩니다.
옴니버스 깃랩 설치
1) TLS 인증서와 키를 입력하고 올바른 권한이 있는지 확인
Code Block |
---|
/etc/gitlab/ssl/registry.gitlab.example.com.key
/etc/gitlab/ssl/registry.gitlab.example.com.crt |
2) TLS 인증서가 작성되면 다음을 사용하여 편집
/etc/gitlab/gitlab.rb
Code Block |
---|
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을 사용하여 컨테이너 레지스트리에 로그인 할 수 있어야 합니다.
Code Block |
---|
docker login registry.gitlab.example.com |