- 사용자가 파이프라인을 볼 수 있는 권한 변경
- 중복 파이프라인 자동 취소
- 구식 배포 작업 방지
- 파이프라인 또는 작업을 취소할 수 있는 역할 제한
- 사용자 정의 CI/CD 구성 파일 지정
- 기본 Git 전략 선택
- 클론 중 가져올 변경 사항 수 제한
- 작업 실행 시간 제한 설정
- 파이프라인 배지
- GitLab CI/CD 파이프라인 비활성화
파이프라인 구성 사용자 정의
프로젝트에 대한 파이프라인 실행 방식을 사용자 정의할 수 있습니다.
파이프라인에 대한 개요를 보려면 GitLab CI Pipeline, Artifacts, and Environments 비디오를 시청하세요.
또한 GitLab CI 파이프라인 초보자 튜토리얼을 시청하세요.
사용자가 파이프라인을 볼 수 있는 권한 변경
공용 및 내부 프로젝트의 경우 다음과 같이 파이프라인을 볼 수 있는 사용자를 변경할 수 있습니다:
- 파이프라인
- 작업 출력 로그
- 작업 아티팩트
- 파이프라인 보안 대시보드
파이프라인 및 관련 기능의 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
공개 파이프라인 체크박스를 선택하거나 선택 해제합니다.
선택된 경우, 파이프라인 및 관련 기능이 표시됩니다:- 공개 프로젝트의 경우, 모든 사용자에게.
- 내부 프로젝트의 경우, 모든 인증된 사용자에게 (외부 사용자 제외).
- 비공개 프로젝트의 경우, 모든 프로젝트 구성원에게 (게스트 이상).
선택 해제된 경우:
-
공개 프로젝트의 경우, 작업 로그, 작업 아티팩트, 파이프라인 보안 대시보드와
CI/CD 메뉴 항목은 프로젝트 구성원만 볼 수 있습니다 (보고서 작성자 이상).
다른 사용자는 파이프라인과 작업의 상태만 볼 수 있으며, 이는 병합 요청 또는 커밋을 볼 때만 가능합니다. - 내부 프로젝트의 경우, 파이프라인은 모든 인증된 사용자에게 표시되며 (외부 사용자 제외). 관련 기능은 프로젝트 구성원만 볼 수 있습니다 (보고서 작성자 이상).
- 비공개 프로젝트의 경우, 파이프라인 및 관련 기능은 프로젝트 구성원만 볼 수 있습니다 (보고서 작성자 이상).
공개 프로젝트에서 비프로젝트 구성원의 파이프라인 가시성 변경
공개 프로젝트에서 비프로젝트 구성원의 파이프라인 가시성을 제어할 수 있습니다.
이 설정은 다음과 같은 경우에 영향을 주지 않습니다:
비프로젝트 구성원에 대한 파이프라인 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한을 확장합니다.
-
CI/CD에 대해 다음을 선택합니다:
- 프로젝트 구성원만: 프로젝트 구성원만 파이프라인을 볼 수 있습니다.
- 접근할 수 있는 모든 사용자: 비프로젝트 구성원도 파이프라인을 볼 수 있습니다.
- 변경 사항 저장을 선택합니다.
CI/CD 권한 테이블은 모든 접근 가능이 선택된 경우 비프로젝트 구성원이 접근할 수 있는 파이프라인 기능을 나열합니다.
중복 파이프라인 자동 취소
새로운 변경 사항에 대한 파이프라인이 동일한 브랜치에서 실행될 때, 보류 중이거나 실행 중인 파이프라인을 자동으로 취소하도록 설정할 수 있습니다. 이는 프로젝트 설정에서 활성화할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 중복 파이프라인 자동 취소 체크박스를 선택합니다.
- 변경 사항 저장을 선택합니다.
interruptible
키워드를 사용하여 실행 중인 작업이 완료되기 전에 취소될 수 있는지 여부를 나타냅니다. interruptible: false
인 작업이 시작된 후, 전체 파이프라인은 더 이상 중단 가능하다고 간주되지 않습니다.
구식 배포 작업 방지
- 또한 구식 수동 또는 재시도된 배포 작업이 실행되는 것을 방지하는 기능이 GitLab 15.5에 추가되었습니다.
프로젝트에는 동일한 시간대에 실행되도록 예약된 여러 동시 배포 작업이 있을 수 있습니다.
이로 인해 이전 배포 작업이 새로운 작업 이후에 실행되는 상황이 발생할 수 있으며, 이는 원하지 않을 수 있습니다.
이 시나리오를 피하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > CI/CD를 선택합니다.
- General pipelines을 확장합니다.
- Prevent outdated deployment jobs 체크박스를 선택합니다.
- 선택 사항. Allow job retries for rollback deployments 체크박스를 지웁니다.
- Save changes를 선택합니다.
자세한 정보는 배포 안전성을 참조하세요.
파이프라인 또는 작업을 취소할 수 있는 역할 제한
- GitLab 16.7에 도입됨.
어떤 역할이 파이프라인 또는 작업을 취소할 수 있는 권한을 가질지 사용자 정의할 수 있습니다.
기본적으로 최소한 개발자 역할이 있는 사용자가 파이프라인이나 작업을 취소할 수 있습니다. 취소 권한을 최소한 유지 관리자 역할이 있는 사용자로 제한하거나, 모든 파이프라인이나 작업의 취소를 완전히 방지할 수 있습니다.
파이프라인이나 작업을 취소하는 권한을 변경하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > CI/CD를 선택합니다.
- General pipelines을 확장합니다.
- Minimum role required to cancel a pipeline or job에서 옵션을 선택합니다.
- Save changes를 선택합니다.
사용자 정의 CI/CD 구성 파일 지정
GitLab은 프로젝트의 루트 디렉토리에서 CI/CD 구성 파일(.gitlab-ci.yml
)을 찾기를 기대합니다. 그러나 다른 파일 이름 경로를 지정할 수 있으며, 프로젝트 외부의 위치도 포함됩니다.
경로를 사용자 정의하려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
- Settings > CI/CD를 선택합니다.
- General pipelines을 확장합니다.
-
CI/CD configuration file 필드에 파일 이름을 입력합니다. 파일이:
- 루트 디렉토리에 있지 않으면 경로를 포함합니다.
- 다른 프로젝트에 있으면 그룹 및 프로젝트 이름을 포함합니다.
- 외부 사이트에 있으면 전체 URL을 입력합니다.
- Save changes를 선택합니다.
사용자 정의 CI/CD 구성 파일 예시
CI/CD 구성 파일이 루트 디렉토리에 없으면 경로는 그에 상대적이어야 합니다. 예:
my/path/.gitlab-ci.yml
my/path/.my-custom-file.yml
CI/CD 구성 파일이 외부 사이트에 있는 경우, URL은 .yml
로 끝나야 합니다:
http://example.com/generate/ci/config.yml
CI/CD 구성 파일이 다른 프로젝트에 있는 경우:
- 파일은 기본 브랜치에 존재해야 하며, 브랜치를 refname으로 지정해야 합니다.
- 경로는 다른 프로젝트의 루트 디렉토리에 상대적이어야 합니다.
- 경로 뒤에는
@
기호와 전체 그룹 및 프로젝트 경로가 와야 합니다.
예를 들어:
.gitlab-ci.yml@namespace/another-project
my/path/.my-custom-file.yml@namespace/sub-group/another-project
my/path/.my-custom-file.yml@namespace/sub-group1/sub-group2/another-project:refname
구성 파일이 별도의 프로젝트에 있는 경우, 보다 세분화된 권한을 설정할 수 있습니다. 예:
- 구성 파일을 호스팅할 공개 프로젝트를 생성합니다.
- 파일을 수정할 수 있는 권한을 가진 사용자에게만 프로젝트에 대한 쓰기 권한을 부여합니다.
그런 다음 다른 사용자와 프로젝트는 파일을 수정할 수 없으면서 구성 파일에 접근할 수 있습니다.
기본 Git 전략 선택
작업이 실행될 때 GitLab에서 리포지토리를 가져오는 방법을 선택할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
Git 전략에서 옵션을 선택합니다:
-
git clone
은 모든 작업에 대해 리포지토리를 처음부터 복제하므로 느립니다. 그러나 로컬 작업 복사본은 항상 깨끗합니다. -
git fetch
는 로컬 작업 복사본을 재사용하므로 더 빠릅니다(존재하지 않을 경우 clone으로 대체됨). 이는 특히 대규모 리포지토리에 권장됩니다.
-
구성된 Git 전략은 .gitlab-ci.yml
파일의 GIT_STRATEGY
변수로 재정의될 수 있습니다.
클론 중 가져올 변경 사항 수 제한
리포지토리를 클론할 때 GitLab CI/CD가 가져오는 변경 사항 수를 제한할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
Git 전략의 Git 얕은 클론에서 값을 입력합니다.
최대 값은
1000
입니다. 얕은 클론을 비활성화하고 GitLab CI/CD가 매번 모든 브랜치와 태그를 가져오도록 하려면 값을 비워두거나0
으로 설정합니다.
새로 생성된 프로젝트는 기본 git depth
값이 20
입니다.
이 값은 .gitlab-ci.yml
파일의 GIT_DEPTH
변수로 재정의될 수 있습니다.
작업 실행 시간 제한 설정
작업이 시간 초과되기 전에 얼마나 실행될 수 있는지를 정의할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
타임아웃 필드에 분 수 또는
2 hours
와 같은 사람이 읽을 수 있는 값을 입력합니다. 최소 10분 이상이어야 하며, 한 달 미만이어야 합니다. 기본값은 60분입니다. 대기 중인 작업은 비활성 상태가 24시간 지속된 후에 삭제됩니다.
타임아웃을 초과한 작업은 실패로 표시됩니다.
이 값을 개별 러너용으로 재정의할 수 있습니다.
파이프라인 배지
파이프라인 배지를 사용하여 프로젝트의 파이프라인 상태와 테스트 커버리지를 나타낼 수 있습니다. 이러한 배지는 최신 성공적인 파이프라인에 의해 결정됩니다.
GitLab CI/CD 파이프라인 비활성화
GitLab CI/CD 파이프라인은 모든 새 프로젝트에서 기본적으로 활성화되어 있습니다. Jenkins나 Drone CI와 같은 외부 CI/CD 서버를 사용하는 경우 커밋 상태 API와의 충돌을 피하기 위해 GitLab CI/CD를 비활성화할 수 있습니다.
프로젝트별로 또는 인스턴스의 모든 새 프로젝트에 대해 GitLab CI/CD를 비활성화할 수 있습니다.
GitLab CI/CD를 비활성화하면:
- 왼쪽 사이드바에서 CI/CD 항목이 제거됩니다.
-
/pipelines
및/jobs
페이지를 더 이상 사용할 수 없습니다. - 기존 작업과 파이프라인이 숨겨지며 삭제되지 않습니다.
프로젝트에서 GitLab CI/CD를 비활성화하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한을 확장합니다.
- 리포지토리 섹션에서 CI/CD를 끕니다.
- 변경 사항 저장을 선택합니다.
이러한 변경 사항은 외부 통합 프로젝트에 적용되지 않습니다.