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

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

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

Auto DevOps

모든 프로젝트에 대해 Auto DevOps를 활성화(또는 비활성화)하려면 다음을 수행하세요.

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Default to Auto DevOps pipeline for all projects란에 체크(비활성화하려면 체크 해제)합니다.
  4. 원하는 경우 Auto DevOps 기본 도메인을 설정합니다. 이는 Auto Deploy 및 Auto Review Apps에 사용됩니다.
  5. 변경 사항이 적용되려면 변경 사항 저장을 선택합니다.

이후로는 .gitlab-ci.yml이 없는 기존 프로젝트와 새로 생성된 프로젝트가 Auto DevOps 파이프라인을 사용합니다.

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

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

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

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. 새 프로젝트에 인스턴스 러너 활성화 확인란을 선택합니다.

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

러너 등록 토큰 활성화

경고: GitLab 15.6에서 러너 등록 토큰 전달 및 특정 구성 인수 지원 기능이 지원 중단되었으며 GitLab 18.0에서 제거될 것입니다. 러너 인증 토큰을 대신 사용해야 합니다. 자세한 정보는 새로운 러너 등록 흐름으로 마이그레이션을 참조하세요.

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

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Runners를 확장합니다.
  4. 러너 등록 토큰 허용 확인란을 선택합니다.

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

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

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

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

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

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. 왼쪽 사이드바에서 CI/CD > Runners를 선택합니다.
  3. 편집하려는 러너를 선택합니다.
  4. 오른쪽 상단에서 편집()을 선택합니다.
  5. 이 러너의 프로젝트 제한 아래에서 프로젝트를 검색합니다.
  6. 프로젝트 왼쪽에서 활성화를 선택합니다.
  7. 각 추가 프로젝트마다 이 프로세스를 반복합니다.

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

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

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. Instance runner details 필드에 마크다운을 포함한 텍스트를 입력합니다.

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

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

프로젝트의 러너 설정에는 공유 러너 가이드에 대한 메시지가 표시됩니다.

최대 아티팩트 크기

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

  • 전체 인스턴스
  • 각 프로젝트
  • 각 그룹

GitLab.com의 경우, 해당 설정은 아티팩트 최대 크기를 참조하십시오.

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

  • 인스턴스:
    1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
    2. 왼쪽 사이드바에서 Settings > CI/CD > Continuous Integration and Deployment를 선택합니다.
    3. Maximum artifacts size (MB)의 값을 변경합니다.
    4. 변경 사항이 적용되려면 변경 사항 저장을 선택합니다.
  • 그룹 (인스턴스 설정 재정의):
    1. 그룹의 Settings > CI/CD > General Pipelines로 이동합니다.
    2. Maximum artifacts size를 변경합니다(MB 단위).
    3. 변경 사항이 적용되려면 변경 사항 저장을 선택합니다.
  • 프로젝트 (인스턴스 및 그룹 설정 재정의):
    1. 프로젝트의 Settings > CI/CD > General Pipelines로 이동합니다.
    2. Maximum artifacts size를 변경합니다(MB 단위).
    3. 변경 사항이 적용되려면 변경 사항 저장을 선택합니다.

기본 아티팩트 만료

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

  1. 왼쪽 사이드바에서 아래쪽으로 이동하여 Admin을 선택합니다.
  2. Settings > CI/CD를 선택합니다.
  3. 기본 만료 시간 값을 변경합니다.
  4. 변경 사항이 적용되려면 변경 사항 저장을 선택합니다.

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

참고: 이 설정의 변경 사항은 새로운 아티팩트에만 적용됩니다. 이 설정 변경 전에 작성된 아티팩트의 만료 시간은 업데이트되지 않습니다. 관리자는 이전에 생성된 아티팩트를 수동으로 검색하여 만료해야 할 수 있습니다. 이에 대한 자세한 사항은 문제 해결 문서를 참조하세요.

최신 성공 파이프라인에서 모든 작업의 최신 artifacts 유지

활성화된 경우(기본값), 각 Git ref의 가장 최근 파이프라인의 artifacts(브랜치와 태그)는 삭제로부터 보호되어 만료 시간과 무관하게 보관됩니다.

비활성화된 경우, 새로운 성공 또는 수정된 파이프라인의 최신 artifacts는 만료될 수 있습니다.

이 설정은 프로젝트 설정 보다 우선합니다. 인스턴스 전체를 위해 비활성화된 경우, 개별 프로젝트에서 이를 활성화할 수 없습니다.

이 설정을 비활성화하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자를 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment를 확장합니다.
  4. Keep the latest artifacts for all jobs in the latest successful pipelines 확인란을 해제합니다.
  5. 변경 사항 저장을 선택합니다.

해당 기능을 비활성화하면 최신 artifacts는 즉시 만료되지 않습니다. 최신 artifacts가 만료되고 삭제되기 위해서는 새로운 파이프라인이 실행되어야 합니다.

참고: 모든 응용 프로그램 설정에는 설정이 영향을 미칠 수 있는 사용자 정의 캐시 만료 간격이 있습니다.

작업 아카이브

개별적으로 다시 실행되지 않도록 오래된 작업을 아카이브하여 보관할 수 있습니다. 아카이브된 작업은 작업 로그 맨 위에 잠금 아이콘()과 This job is archived가 표시됩니다.

아래의 기간 동안 어떻게 오래된 작업으로 간주하고 만료시킬지 설정하려면:

  1. 왼쪽 사이드바에서 아래쪽에서 관리자를 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment 섹션을 확장합니다.
  4. Archive jobs의 값을 설정합니다.
  5. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.

설정된 시간이 지나면 작업은 백그라운드에서 아카이빙되어 더 이상 다시 시도할 수 없습니다. 작업이 만료되지 않도록 하려면 비워둬야 합니다. 이 값은 1일 이상이어야 하며, 예를 들어 15 days, 1 month, 2 years와 같이 설정할 수 있습니다.

GitLab.com을 위해 설정된 값은 Scheduled job archiving을 참조하세요.

기본 CI/CD 설정 파일

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

  1. 왼쪽 사이드바에서 아래쪽에서 관리자를 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Default CI/CD configuration file 필드에 새 파일과 경로를 입력합니다.
  4. 변경 사항이 적용되도록 변경 사항 저장을 선택합니다.

또한, 특정 프로젝트에 대한 사용자 정의 CI/CD 설정 파일 지정도 가능합니다.

CI/CD 제한 설정

  • 프로젝트 당 활성 파이프라인 최대 수 설정은 GitLab 16.0에서 제거됨 -

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

  1. 왼쪽 사이드바에서 아래쪽에서 관리자를 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Continuous Integration and Deployment 섹션을 확장합니다.
  4. CI/CD limits 섹션에서 다음과 같은 제한을 설정할 수 있습니다:
    • 단일 파이프라인 내 작업의 최대 수
    • 현재 활성 파이프라인 내 전체 작업 수
    • 프로젝트 간 또는 프로젝트로부터 파이프라인 구독의 최대 수
    • 파이프라인 스케줄의 최대 수
    • 작업이 가질 수 있는 최대 종속성 수
    • 그룹 당 등록된 최대 러너 수
    • 프로젝트 당 등록된 최대 러너 수
    • 파이프라인의 계층 구조 트리 내 하위 파이프라인의 최대 수

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

기본적으로, 파이프라인이 없는 MR(병합 요청)에 대한 안내를 포함하는 배너가 표시됩니다.

배너에서 GitLab 파이프라인을 시작하는 방법에 대한 안내가 제공됩니다.

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

  1. 왼쪽 사이드바에서 아래쪽에서 관리자를 선택합니다.
  2. 설정 > CI/CD를 선택합니다.
  3. Enable pipeline suggestion banner 확인란을 선택 또는 해제합니다.
  4. 변경 사항 저장을 선택합니다.

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

기본적으로 GitLab Pages는 사용자가 GitLab Pages에서 제공하는 작업 아티팩트를 볼 때 외부 리디렉션 페이지를 보여줍니다. 이 페이지는 악의적으로 생성된 콘텐츠의 잠재적인 위험에 대해 경고합니다. 자세한 내용은 이슈 352611를 참조하세요.

자체 관리형 관리자는 외부 리디렉션 경고 페이지를 비활성화할 수 있어서 직접 작업 아티팩트 페이지를 볼 수 있습니다:

  1. 왼쪽 사이드바에서 맨 아래에서 관리자를 선택하세요.
  2. 설정 > CI/CD를 선택하세요.
  3. 지속적 통합 및 배포를 확장하세요.
  4. 작업 아티팩트를 위한 외부 리디렉션 페이지 활성화를 선택 취소하세요.

필수 파이프라인 구성

Tier: Ultimate Offering: Self-managed
  • 15.0에서 GitLab 프리미엄에서 GitLab 얼티메이트로 이동됨.
  • GitLab 15.9에서 폐기됨.
  • GitLab 17.0에서 제거됨.
  • GitLab 17.4에서 required_pipelines 기능 플래그 뒤에 재추가됨. 기본적으로 비활성화됨.

경고: 이 기능은 GitLab 15.9에서 폐기되었으며 17.0에서 제거되었습니다. 17.4에서는 기능 플래그 required_pipelines 뒤에 기본적으로만 사용되며, 컴플라이언스 파이프라인 사용을 권장합니다.

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

  • 기본 CI/CD 템플릿.
  • 인스턴스 템플릿 저장소에 저장된 사용자 정의 템플릿.

    참고: 인스턴스 템플릿 저장소에 정의된 구성을 사용하는 경우, 중첩된 include: 키워드 (include:file, include:local, include:remote, include:template)는 작동하지 않습니다.

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

필수 파이프라인 구성에서 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 15.5에서 GitLab.com 및 자체 관리형에서 활성화.

GitLab 관리자는 UI의 일부 영역을 숨기고 표시함으로써 러너를 등록할 수 있는 사용자를 조정할 수 있습니다. 본 설정은 UI에서 러너를 생성하거나 인증된 API 호출을 통해 러너를 만드는 능력에는 영향을 주지 않습니다.

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

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

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

  1. 왼쪽 사이드바에서 맨 아래에서 관리자를 선택하세요.
  2. 설정 > CI/CD를 선택하세요.
  3. 러너를 확장하세요.
  4. 러너 등록 섹션에서 프로젝트 구성원이 러너를 등록할 수 있음그룹 구성원이 러너를 등록할 수 있음 확인란을 해제하여 UI에서 러너 등록을 제거하세요.
  5. 변경 사항 저장을 선택하세요.

참고: 프로젝트 구성원이 러너 등록을 해제하면 등록 토큰이 자동으로 변경됩니다. 해당 토큰은 더 이상 유효하지 않으며 프로젝트의 새 등록 토큰을 사용해야 합니다.

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

전제 조건:

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

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

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

러너 버전 관리 비활성화

  • 소개된 항목: GitLab 15.10.

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

인스턴스에서 이 데이터를 가져오지 않으려면:

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

문제 해결

413 Request Entity Too Large 오류

아티팩트 크기가 너무 큰 경우 작업이 다음 오류와 함께 실패할 수 있습니다.

작업 스토리지에 아티팩트를 "아카이브"로 업로드... 아카이브가 너무 커서 <job-id> responseStatus=413 요청 엔터티가 너무 큼 status=413"를 저장하려는 파이프라인에서 빌드 작업 마지막에 <object-storage>에 아티팩트를 저장하려고 할 때.

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

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