지속적 통합 및 배포 관리자 영역 설정

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

Admin Area에는 Auto DevOps, 러너, 작업 아티팩트에 대한 인스턴스 설정이 있습니다.

Auto DevOps

모든 프로젝트에 대해 Auto DevOps를 활성화(또는 비활성화)하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Default to Auto DevOps pipeline for all projects란에서 확인란(비활성화하려면 선택 해제)을 확인합니다.
  4. 필요한 경우 Auto DevOps 기본 도메인을 설정합니다. 이 도메인은 Auto Deploy 및 Auto Review Apps에 사용됩니다.
  5. 변경 사항을 적용하려면 Save changes를 선택합니다.

이제부터 .gitlab-ci.yml을 사용하지 않는 모든 기존 및 새로 생성된 프로젝트는 Auto DevOps 파이프라인을 사용합니다.

특정 프로젝트에서 비활성화하려면 해당 설정을 사용할 수 있습니다.

새 프로젝트에 대해 인스턴스 러너 활성화

기본적으로 모든 새 프로젝트에 인스턴스 러너를 사용할 수 있도록 설정할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. Enable instance runners for new projects 확인란을 선택합니다.

새 프로젝트가 생성될 때마다 인스턴스 러너를 사용할 수 있습니다.

러너 등록 토큰 활성화

caution
러너 등록 토큰을 전달하고 특정 구성 인수를 지원하는 기능은 GitLab 15.6에서 사용 중닥되었으며, GitLab 18.0에서 제거됩니다. 러너 인증 토큰을 사용해야 합니다. 자세한 내용은 새 러너 등록 워크플로로의 마이그레이션을 참조하십시오.

GitLab 17.0에서 GitLab 모든 인스턴스에서 러너 등록 토큰을 사용하여 러너를 만드는 것이 비활성화됩니다. 사용자는 러너 인증 토큰을 대신 사용해야 합니다. 아직 러너 인증 토큰을 사용하도록 마이그레이션하지 않은 경우, 러너 등록 토큰을 활성화할 수 있습니다. 이 설정과 러너 등록 토큰을 지원한 기능은 GitLab 18.0에서 제거될 예정입니다.

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Runners를 확장합니다.
  4. Allow runner registration token 확인란을 선택합니다.

인스턴스 러너 컴퓨팅 할당량

관리자로서 사용할 수 있는 컴퓨터 분의 전역 또는 네임스페이스별 제한을 설정할 수 있습니다.

여러 프로젝트에 대해 프로젝트 러너 활성화

이미 프로젝트 러너를 등록한 경우 해당 러너를 다른 프로젝트에 할당할 수 있습니다.

둘 이상의 프로젝트에 대해 프로젝트 러너를 활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
  3. 편집하려는 러너를 선택합니다.
  4. 오른쪽 상단에서 Edit ()을 선택합니다.
  5. Restrict projects for this runner에서 프로젝트를 검색합니다.
  6. 프로젝트 왼쪽에서 Enable을 선택합니다.
  7. 추가 프로젝트에 대해 이 과정을 반복합니다.

인스턴스 러너에 대한 메시지 추가

모든 프로젝트의 러너 설정에 인스턴스 러너에 대한 세부 정보를 표시할 수 있습니다.

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. Instance runner details 필드에 텍스트 또는 Markdown을 입력합니다.

렌더링된 세부 정보를 보려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하여 프로젝트 또는 그룹을 찾습니다.
  2. Settings > CI/CD를 선택합니다.
  3. Runners를 확장합니다.

인스턴스 러너 세부 정보 예시

최대 아티팩트 크기

관리자는 작업 아티팩트의 최대 크기를 설정할 수 있습니다.

  • 인스턴스 수준
  • 프로젝트 및 그룹 수준

GitLab.com의 설정에 대해서는 아티팩트 최대 크기를 참조하십시오.

값은 MB 단위이고 기본값은 작업 당 100MB입니다. 관리자는 다음 위치에서 기본값을 변경할 수 있습니다.

  • 인스턴스 수준:

    1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
    2. 왼쪽 사이드바에서 Settings > CI/CD > Continuous Integration and Deployment를 선택합니다.
    3. Maximum artifacts size (MB)의 값을 변경합니다.
    4. 변경 사항을 적용하려면 Save changes를 선택합니다.
  • 그룹 수준(인스턴스 설정을 재정의함):

    1. 그룹의 Settings > CI/CD > General Pipelines로 이동합니다.
    2. Maximum artifacts size의 값을 변경합니다(MB로).
    3. 변경 사항을 적용하려면 Save changes를 선택합니다.
  • 프로젝트 수준(인스턴스 및 그룹 설정을 재정의함):

    1. 프로젝트의 Settings > CI/CD > General Pipelines로 이동합니다.
    2. Maximum artifacts size의 값을 변경합니다(MB로).
    3. 변경 사항을 적용하려면 Save changes를 선택합니다.

기본 아티팩트 만료

기본으로 작업 아티팩트의 만료 시간을 GitLab 인스턴스의 관리자 영역에 설정할 수 있습니다. 기간의 구문은 artifacts:expire_in에 설명되어 있으며 기본값은 30일입니다.

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. 기본 만료 시간의 값을 변경합니다.
  4. 변경 사항을 적용하려면 Save changes를 선택합니다.

이 설정은 작업당 설정되며 .gitlab-ci.yml에서 재정의할 수 있습니다. 만료를 비활성화하려면 0으로 설정합니다. 기본 단위는 초입니다.

note
이 설정의 변경은 새로운 아티팩트에만 적용됩니다. 이 설정이 변경된 이후에 생성된 아티팩트에 대해 만료 시간은 업데이트되지 않습니다. 관리자는 이전에 생성된 아티팩트를 매뉴얼으로 찾아 만료해야 할 수 있습니다. 이에 대한 설명은 문제 해결 문서에 설명되어 있습니다.

가장 최근 성공적인 파이프라인의 모든 작업에 대한 최신 아티팩트 유지

활성화(기본 설정)되어 있으면 각 Git ref(브랜치 및 태그)에 대한 가장 최근 파이프라인의 아티팩트는 삭제가 잠겨 있으며 만료 시간과 관계없이 유지됩니다.

비활성화되어 있으면 새로운 성공적이거 가정정적인 파이프라인의 최신 아티팩트는 만료되도록 허용됩니다.

이 설정은 프로젝트 수준 설정보다 우선합니다. 인스턴스 레벨에서 비활성화되어 있으면 이 설정을 프로젝트별로 활성화할 수 없습니다.

설정을 비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 Admin Area를 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. Keep the latest artifacts for all jobs in the latest successful pipelines 확인란을 해제합니다.
  5. Save changes를 선택합니다

이 기능을 비활성화하면 최신 아티팩트가 즉시 만료되지 않습니다. 최신 아티팩트가 만료되고 삭제되려면 새로운 파이프라인이 실행되어야 합니다.

note
모든 응용 프로그램 설정에는 설정의 영향을 지연할 수 있는사용자 정의 캐시 만료 간격이 있습니다.

작업 보관

개별적으로 다시 실행되지 않도록 오래된 작업을 보관하여 보관된 작업에 잠금 아이콘()과 작업 로그 상단에 이 작업은 보관됨이 표시됩니다.

앞으로 CI/CD 풋프린트를 줄이기 위한 작업으로 데이터베이스에 저장된 메타데이터를 제거하여 작업을 실행하는 데 필요한 데이터를 줄일 예정입니다. CI/CD 데이터 타임 디케이 블루프린트에서 자세한 내용을 확인하세요.

작업이 오래되고 만료될 기간을 설정하려면:

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포 섹션을 확장합니다.
  4. 작업 보관의 값을 설정합니다.
  5. 변경 사항을 적용하려면 변경 사항 저장을 선택합니다.

해당 시간이 경과하면 작업은 백그라운드에서 보관되어 더 이상 다시 시도할 수 없게 됩니다. 작업이 만료되지 않도록 하려면 비워 두어야 합니다. 최소 1일 이상이어야 하며, 예를 들어 15일, 1개월, 2년 등이어야 합니다.

GitLab.com에 대한 값 설정에 대해서는 예약된 작업 보관을 참조하세요.

기본적으로 CI/CD 변수 보호

모든 새로운 CI/CD 변수를 기본적으로 보호하도록 설정하려면:

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 기본적으로 CI/CD 변수 보호를 선택합니다.

최대 포함

파이프라인 당 포함의 최대 수를 인스턴스 수준에서 설정할 수 있습니다. 기본값은 150입니다.

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 최대 포함의 값을 변경합니다.
  4. 변경 사항을 적용하려면 변경 사항 저장을 선택합니다.

최대 하류 파이프라인 트리거 속도

(특정 프로젝트, 사용자 및 커밋에 대해) 분당 트리거될 수 있는 하류 파이프라인의 최대 수를 인스턴스 수준에서 설정할 수 있습니다. 기본값은 0(제한 없음)입니다.

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 최대 하류 파이프라인 트리거 속도의 값을 변경합니다.
  4. 변경 사항을 적용하려면 변경 사항 저장을 선택합니다.

기본 CI/CD 구성 파일

새로운 프로젝트의 기본 CI/CD 구성 파일 및 경로를 GitLab 인스턴스의 관리 영역에서 설정할 수 있습니다(.gitlab-ci.yml로 설정되지 않은 경우):

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 기본 CI/CD 구성 파일 필드에 새 파일과 경로를 입력합니다.
  4. 변경 사항을 적용하려면 변경 사항 저장을 선택합니다.

특정 프로젝트에 대해 사용자 정의 CI/CD 구성 파일을 지정할 수도 있습니다.

CI/CD 제한 설정

  • GitLab 16.0에서 프로젝트별 활성 파이프라인 최대 수 설정이 제거되었습니다.

관리 영역에서 몇 가지 CI/CD 제한을 구성할 수 있습니다:

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포 섹션을 확장합니다.
  4. CI/CD 제한 섹션에서 다음 제한을 설정할 수 있습니다:
    • 단일 파이프라인 내 작업 최대 수
    • 현재 활성 파이프라인의 총 작업 수
    • 프로젝트로부터 또는 프로젝트로의 최대 파이프라인 구독 수
    • 파이프라인 스케줄 최대 수
    • 작업이 가질 수 있는 DAG 의존성의 최대 수
    • 그룹당 등록된 러너의 최대 수
    • 프로젝트당 등록된 러너의 최대 수
    • 파이프라인의 계층 구조 트리에 있는 하류 파이프라인의 최대 수

파이프라인 제안 배너 활성화 또는 비활성화

기본적으로 파이프라인이 없는 머지 요청에는 어떻게 추가할지에 대한 안내를 제시하는 배너가 표시됩니다.

파이프라인 제안 배너 제시

배너를 활성화하거나 비활성화하려면:

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 파이프라인 제안 배너 활성화 확인란을 선택하거나 선택 취소합니다.
  4. 변경 사항을 적용하려면 변경 사항 저장을 선택합니다.

작업 아티팩트용 외부 리디렉션 페이지 활성화 또는 비활성화

기본적으로 GitLab Pages는 GitLab Pages로 제공되는 작업 아티팩트를 보려고 시도할 때 외부 리디렉션 페이지를 표시합니다. 이 페이지에서는 issue 352611에 설명된 대로 악의적으로 생성된 콘텐츠의 잠재적 위험에 대해 경고합니다.

자체 설치된 관리자는 외부 리디렉션 경고 페이지를 비활성화하여 작업 아티팩트 페이지를 직접 볼 수 있습니다:

  1. 왼쪽 사이드바에서 가장 아래에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포를 확장합니다.
  4. 작업 아티팩트용 외부 리디렉션 페이지 활성화를 선택 취소합니다.

PyPI 전달

Tier: Premium, Ultimate Offering: Self-Managed

GitLab 관리자는 PyPI 요청을 pypi.org로 전달하는 것을 비활성화할 수 있습니다.

비활성화하려면:

  1. 왼쪽 사이드바에서 하단에 있는 관리 영역(Admin Area)을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 패키지 레지스트리 섹션을 확장합니다.
  4. GitLab 패키지 레지스트리에 패키지가 없으면 PyPI 레지스트리로 PyPI 패키지 요청을 전달란 체크박스를 해제합니다.
  5. 변경 사항 저장을 선택합니다.

패키지 파일 크기 제한

GitLab 관리자는 각 패키지 유형에 대해 허용된 최대 파일 크기를 조정할 수 있습니다.

최대 파일 크기를 설정하려면:

  1. 왼쪽 사이드바에서 하단에 있는 관리 영역(Admin Area)을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 패키지 레지스트리 섹션을 확장합니다.
  4. 조정하려는 패키지 유형을 찾습니다.
  5. 바이트 단위로 최대 파일 크기를 입력합니다.
  6. 크기 제한 저장을 선택합니다.

인스턴스의 모든 사용자에 의한 러너 등록 제한

GitLab 관리자는 UI의 일부를 표시하고 숨겨서 러너를 등록할 수 있는 사용자를 조정할 수 있습니다.

UI에서 등록 섹션이 숨겨진 경우 프로젝트 또는 그룹 구성원은 그룹 또는 프로젝트에서 러너 등록을 활성화하려면 관리자에게 연락해야 합니다. 등록을 방지하려면 사용자가 작업을 실행하는 데 필요한 러너에 액세스할 수 있는지 확인합니다.

기본적으로 프로젝트 및 그룹의 모든 구성원이 러너를 등록할 수 있습니다.

모든 사용자에 의해 인스턴스에서 러너 등록을 제한하려면:

  1. 왼쪽 사이드바에서 하단에 있는 관리 영역(Admin Area)을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 러너 등록 섹션에서 프로젝트 구성원이 러너를 등록할 수 있음그룹 구성원이 러너를 등록할 수 있음 체크박스를 해제하여 UI에서 러너 등록을 제거합니다.
  5. 변경 사항 저장을 선택합니다.
note
프로젝트의 구성원에 의해 러너 등록을 비활성화한 후, 등록 토큰은 자동으로 회전합니다. 해당 토큰은 더 이상 유효하지 않으며 프로젝트에 대해 새로운 등록 토큰을 사용해야 합니다.

그룹 내의 모든 구성원에 의한 러너 등록 제한

전제 조건:

GitLab 관리자는 그룹 구성원에 의한 러너 등록을 제한하기 위해 그룹 권한을 조정할 수 있습니다.

특정 그룹의 구성원에 의한 러너 등록을 제한하려면:

  1. 왼쪽 사이드바에서 하단에 있는 관리 영역(Admin Area)을 선택합니다.
  2. 개요 > 그룹을 선택하고 해당 그룹을 찾습니다.
  3. 편집(Edit)을 선택합니다.
  4. 그룹 내의 모든 구성원에 의한 러너 등록을 비활성화하려면 새 그룹 러너가 등록될 수 있음 체크박스를 해제합니다. 설정이 읽기 전용인 경우 인스턴스에 대해 러너 등록을 활성화해야 합니다.
  5. 변경 사항 저장을 선택합니다.

러너 버전 관리 비활성화

기본적으로 GitLab 인스턴스는 GitLab.com에서 공식 러너 버전 데이터를 정기적으로 가져와 러너가 업그레이드가 필요한지 판단합니다.

인스턴스에서 이 데이터를 가져오지 않도록 비활성화하려면:

  1. 왼쪽 사이드바에서 하단에 있는 관리 영역(Admin Area)을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 러너 버전 관리 섹션에서 GitLab.com에서 GitLab 러너 릴리스 버전 데이터 가져오기 체크박스를 해제합니다.
  5. 변경 사항 저장을 선택합니다.

문제 해결

413 Request Entity Too Large 오류

아티팩트가 너무 크면 작업이 다음과 같은 오류로 실패할 수 있습니다:

코디네이터에게 "archive"로 아티팩트 업로드... 너무 큰 아카이브 <작업 ID> responseStatus=413 Request Entity Too Large status=413"를 저장할 때 <object-storage>에 아티팩트를 저장하려고 했습니다.

다음을 수행해야 할 수 있습니다:

  • 최대 아티팩트 크기를 증가시킵니다.
  • 프록시 서버로 NGINX를 사용하는 경우 기본적으로 파일 업로드 크기 제한이 1MB입니다. NGINX 구성 파일에서 client-max-body-size의 값을 더 높게 설정합니다.