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

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

관리자 영역에는 Auto DevOps, 러너, 작업 아티팩트의 인스턴스 설정이 있습니다.

Auto DevOps

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

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 모든 프로젝트에 대해 자동으로 모든 프로젝트에 대해 Auto DevOps 파이프라인 사용란의 상자를 선택(또는 선택 해제)합니다.
  4. 선택 사항으로 Auto DevOps 기본 도메인을 설정합니다, 이는 Auto Deploy 및 Auto Review Apps에 사용됩니다.
  5. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.

이후에는 .gitlab-ci.yml이 없는 모든 기존 프로젝트 및 새로 생성된 프로젝트에서 Auto DevOps 파이프라인이 사용됩니다.

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

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

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

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포를 확장합니다.
  4. 새 프로젝트에 대한 인스턴스 러너를 활성화란의 확인란을 선택합니다.

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

인스턴스 러너 계산 할당량

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

다중 프로젝트에 대한 프로젝트 러너 활성화

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

하나의 프로젝트에 대해 프로젝트 러너를 여러 개의 프로젝트에 활성화하려면:

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 왼쪽 사이드바에서 CI/CD > 러너를 선택합니다.
  3. 편집하려는 러너를 선택합니다.
  4. 오른쪽 상단에서 편집({pencil})을 선택합니다.
  5. 이 러너의 프로젝트 제한에서 프로젝트를 검색합니다.
  6. 프로젝트 왼쪽에서 활성화를 선택합니다.
  7. 각 추가 프로젝트에 대해 이 프로세스를 반복합니다.

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

모든 프로젝트의 러너 설정에 인스턴스 러너에 관한 세부 정보를 표시하려면:

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포를 확장합니다.
  4. 인스턴스 러너 세부정보 필드에 마크다운을 포함하여 텍스트를 입력합니다.

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

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

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

최대 아티팩트 크기

관리자는 작업 아티팩트의 최대 크기를 다음 위치에서 설정할 수 있습니다:

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

GitLab.com의 설정에 대한 자세한 내용은 아티팩트 최대 크기를 참조하세요.

값은 MB 단위이며 기본값은 작업당 100MB입니다. 관리자는 기본값을 변경할 수 있습니다:

  • 인스턴스 수준:

    1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
    2. 왼쪽 사이드바에서 설정 > CI/CD > 지속적 통합 및 배포를 선택합니다.
    3. 최대 아티팩트 크기(MB)의 값을 변경합니다.
    4. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.
  • 그룹 수준(인스턴스 설정을 재정의함):

    1. 그룹의 설정 > CI/CD > 일반 파이프라인으로 이동합니다.
    2. 최대 아티팩트 크기(MB) 값을 변경합니다.
    3. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.
  • 프로젝트 수준(인스턴스 및 그룹 설정을 재정의함):

    1. 프로젝트의 설정 > CI/CD > 일반 파이프라인으로 이동합니다.
    2. 최대 아티팩트 크기(MB) 값을 변경합니다.
    3. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.

기본 아티팩트 만료

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

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 기본 만료 시간의 값을 변경합니다.
  4. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.

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

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

가장 최근 완료된 파이프라인의 모든 작업에 대한 최대 아티팩트 보유

활성화되어 있을 때(기본값), 각 Git ref(브랜치 및 태그에 대해 가장 최근 파이프라인의 아티팩트는 삭제되지 않고 유지됩니다.

비활성화되어 있을 때, 새로 생성된 성공 또는 수정된 파이프라인의 최신 아티팩트는 만료될 수 있습니다.

이 설정은 프로젝트 수준 설정에 우선합니다. 인스턴스 수준에서 비활성화되면 프로젝트별로 이를 활성화할 수 없습니다.

설정 비활성화를 위해:

  1. 왼쪽 사이드바에서 맨 아래에서 관리자 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 지속적 통합 및 배포를 확장합니다.
  4. 가장 최근 완료된 파이프라인의 모든 작업에 대한 최대 아티팩트 보유 확인란을 지웁니다.
  5. 변경 사항 저장을 선택합니다.

이 기능을 비활성화하면 가장 최근 아티팩트는 즉시 만료되지 않습니다. 최신 파이프라인이 실행되기 전에 최신 아티팩트가 만료되고 삭제됩니다.

note
모든 애플리케이션 설정은 사용자 정의 캐시 만료 간격을 가지고 있으며, 이는 설정이 적용되기 전에 지연될 수 있습니다.

작업 아카이브

개별적으로 다시 실행되는 것을 방지하기 위해 이전 작업을 아카이브할 수 있습니다. 아카이브된 작업은 작업 로그 상단에 잠금 아이콘 ()과 This job is archived가 표시됩니다.

아카이브된 작업에 대한 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 14.10에서 소개됨.
  • 프로젝트 당 활성화된 파이프라인의 최대 수 설정이 GitLab 16.0에서 제거됨.

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

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

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

기본적으로 파이프라인이 없는 합병 요청에서 하나를 추가하는 방법에 대한 안내를 제안하는 배너가 표시됩니다.

제안 파이프라인 배너

배너를 활성화 또는 비활성화하려면:

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

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

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

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

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

필요한 파이프라인 구성

Tier: Ultimate Offering: Self-managed
caution
이 기능은 GitLab 15.9에서 사용되지 않음으로 표시되었으며 17.0에서 제거될 예정입니다. 대신 컴플라이언스 파이프라인을 사용하십시오. 이 변경 사항은 파급 효과가 있습니다.

GitLab 인스턴스의 모든 프로젝트에 대한 필요한 파이프라인 구성으로 CI/CD 템플릿을 설정할 수 있습니다. 다음에서 템플릿을 사용할 수 있습니다:

프로젝트 CI/CD 구성은 파이프라인이 실행될 때 필요한 파이프라인 구성에 Merge됩니다. Merge된 구성은 필요한 파이프라인 구성에서 프로젝트 구성이 include 키워드로 추가된 것과 동일합니다. 프로젝트의 전체 Merge된 구성을 보려면 파이프라인 편집기에서 전체 구성 보기를 선택하세요.

필요한 파이프라인 구성에 CI/CD 템플릿을 선택하려면:

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 필요한 파이프라인 구성 섹션을 확장합니다.
  4. 드롭다운 디렉터리에서 CI/CD 템플릿을 선택합니다.
  5. 변경 사항 저장을 선택합니다.

패키지 레지스트리 구성

Maven 전달

Tier: Premium, Ultimate Offering: Self-managed

GitLab 관리자는 Maven 요청의 Maven Central로의 전달을 비활성화할 수 있습니다.

Maven 요청을 비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 패키지 레지스트리 섹션을 확장합니다.
  4. GitLab 패키지 레지스트리에서 패키지를 찾을 수 없는 경우 Maven 패키지 요청을 Maven 레지스트리로 전달 확인란을 선택해제합니다.
  5. 변경 사항 저장을 선택합니다.

npm 전달

Tier: Premium, Ultimate Offering: Self-managed

GitLab 관리자는 npm 요청을 npmjs.com으로 전달하는 것을 비활성화할 수 있습니다.

비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 패키지 레지스트리 섹션을 확장합니다.
  4. GitLab 패키지 레지스트리에서 패키지를 찾을 수 없는 경우 npm 패키지 요청을 npm 레지스트리로 전달 확인란을 선택해제합니다.
  5. 변경 사항 저장을 선택합니다.

PyPI 전달

Tier: Premium, Ultimate Offering: Self-managed

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

비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 패키지 레지스트리 섹션을 확장합니다.
  4. GitLab 패키지 레지스트리에서 패키지를 찾을 수 없는 경우 PyPI 패키지 요청을 PyPI 레지스트리로 전달 확인란을 선택해제합니다.
  5. 변경 사항 저장을 선택합니다.

패키지 파일 크기 제한

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

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

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

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

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

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

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

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

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

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

필수 컴포넌트:

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

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

  1. 왼쪽 사이드바에서 아래쪽에 관리 영역을 선택합니다.
  2. 개요 > 그룹을 선택하고 그룹을 찾습니다.
  3. 편집을 선택합니다.
  4. 그룹 내 모든 구성원에 의한 러너 등록을 비활성화하려면 새 그룹 러너를 등록할 수 있음 확인란을 선택 해제합니다. 설정이 읽기 전용인 경우 인스턴스에서 러너 등록을 활성화해야 합니다.
  5. 변경 사항 저장을 선택합니다.

러너 버전 관리 비활성화

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

이 기능을 비활성화하려면:

  1. 왼쪽 사이드바에서 관리 영역을 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. 러너를 확장합니다.
  4. 러너 버전 관리 섹션에서 GitLab.com으로부터 GitLab 러너 릴리스 버전 데이터를 가져오지 않도록하는 확인란을 해제합니다.
  5. 변경 사항 저장을 선택합니다.

문제 해결

413 Request Entity Too Large 오류

아티팩트가 너무 큰 경우 다음과 같은 오류가 발생할 수 있습니다:

작업 폴더에 "아카이브" 형태로 아티팩트를 업로드하는 중... 너무 큰 아카이브 <job-id> responseStatus=413 Request Entity Too Large status=413" at end of a build job on pipeline when trying to store artifacts to <object-storage>.

다음과 같이 조치해야 할 수 있습니다:

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