- 귀하의 파이프라인을 볼 수 있는 사용자 변경
- 중복 파이프라인 자동 취소
- 오래된 배포 작업 방지
- 파이프라인 또는 작업을 취소할 수 있는 권한 제한
- 사용자화 CI/CD 구성 파일 지정
- 기본 Git 전략 선택
- 클론 중에 가져올 변경 사항의 수 제한
- 작업이 실행될 수 있는 최대 시간 제한 설정
- 파이프라인 배지
- GitLab CI/CD 파이프라인 비활성화
파이프라인 구성 사용자화
프로젝트의 파이프라인 실행 방식을 사용자화할 수 있습니다.
파이프라인에 대한 개요는 GitLab CI Pipeline, Artifacts, and Environments 비디오를 시청하세요. 또한 GitLab CI 패이프라인 초보자를 위한 튜토리얼를 시청하세요.
귀하의 파이프라인을 볼 수 있는 사용자 변경
공개 및 내부 프로젝트의 경우 다음을 볼 수 있는 사용자를 변경할 수 있습니다:
- 파이프라인
- 작업 출력 로그
- 작업 아티팩트
- 파이프라인 보안 대시보드
파이프라인 및 관련 기능의 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
공개 파이프라인 확인란을 선택하거나 선택 해제합니다.
- 선택될 때, 파이프라인 및 관련 기능은 다음과 같이 표시됩니다:
- 선택이 해제될 때:
- 공개 프로젝트의 작업 로그, 작업 아티팩트, 파이프라인 보안 대시보드, 및 CI/CD 메뉴 항목은 프로젝트 멤버(Reporter 또는 더 높음)에게만 표시됩니다.
- 다른 사용자, 게스트 사용자를 포함하여, 병합 요청 또는 커밋을 볼 때만 파이프라인 및 작업 상태를 볼 수 있습니다.
- 선택 해제될 때:
- 내부 프로젝트의 파이프라인은 외부 사용자를 제외한 모든 인증된 사용자에게 표시됩니다.
- 관련 기능은 프로젝트 멤버(Reporter 또는 더 높음)에게만 표시됩니다.
- 선택 해제될 때:
- 비공개 프로젝트의 파이프라인과 관련 기능은 프로젝트 멤버(Reporter 또는 더 높음)에게만 표시됩니다.
공개 프로젝트에서 비프로젝트 멤버를 위한 파이프라인 가시성 변경
공개 프로젝트의 비프로젝트 멤버를 위한 파이프라인 가시성을 제어할 수 있습니다.
이 설정은 다음과 같은 경우에는 영향을 미치지 않습니다:
비프로젝트 멤버를 위한 파이프라인 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트의 기능, 권한을 확장합니다.
-
CI/CD에서 다음 중 하나를 선택합니다:
- 프로젝트 멤버만: 프로젝트 멤버만 파이프라인을 볼 수 있습니다.
- 액세스 권한이 있는 모든 사용자: 비프로젝트 멤버도 파이프라인을 볼 수 있습니다.
- 변경 사항 저장을 선택합니다.
CI/CD 권한 테이블에서 액세스 권한이 있는 모든 사용자가 선택되었을 때 비프로젝트 멤버가 액세스 할 수 있는 파이프라인 기능을 나열합니다.
중복 파이프라인 자동 취소
동일 브랜치로 새 변경 사항에 대한 파이프라인이 실행되면 대기 중이거나 실행 중인 파이프라인을 자동으로 취소할 수 있습니다. 이 작업은 프로젝트 설정에서 활성화할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 중복되는 파이프라인 자동 취소 확인란을 선택합니다.
- 변경 사항 저장을 선택합니다.
실행 중인 작업을 완료하기 전에 취소가 가능한지 여부를 나타내기 위해 interruptible
키워드를 사용할 수 있습니다. interruptible: false
로 시작한 작업 후에는 전체 파이프라인이 중지될 수 없게 됩니다.
오래된 배포 작업 방지
- GitLab 15.5에 추가 됨
여러 개의 배포 작업이 동일한 시간대에 실행되도록 예약되어 있을 수 있습니다.
이렇게 되면, 새로운 배포 작업이 실행된 이후에 오래된 배포 작업이 실행될 수 있습니다. 이는 원하는 동작이 아닐 수 있습니다.
이러한 시나리오를 피하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 오래된 배포 작업 방지 확인란을 선택합니다.
- 선택 사항: 롤백 배포에 대한 작업 재시도 허용 확인란을 비활성화합니다.
- 변경 사항 저장을 선택합니다.
자세한 내용은 배포 안전성을 참조하세요.
파이프라인 또는 작업을 취소할 수 있는 권한 제한
- GitLab 16.7에 도입
파이프라인 또는 작업을 취소할 수 있는 권한을 사용자화할 수 있습니다.
기본적으로 최소한 Developer 역할을 가진 사용자는 파이프라인 또는 작업을 취소할 수 있습니다. 파이프라인 또는 작업의 취소 권한을 최소한 Maintainer 역할을 가진 사용자로 제한하거나 파이프라인 또는 작업을 완전히 제한할 수 있습니다.
파이프라인 또는 작업을 취소하기 위한 권한을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 파이프라인 또는 작업을 취소하기 위한 최소한 필요한 역할에서 옵션을 선택합니다.
- 변경 사항 저장을 선택합니다.
사용자화 CI/CD 구성 파일 지정
GitLab은 프로젝트의 루트 디렉터리에서 CI/CD 구성 파일 (.gitlab-ci.yml
)을 찾는 것으로 기대합니다. 그러나 프로젝트 외부의 위치를 포함한 대체 파일 이름 경로를 지정할 수 있습니다.
경로를 사용자화하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
CI/CD 구성 파일 필드에 파일 이름을 입력합니다. 파일이:
- 루트 디렉터리에 없는 경우 경로를 포함합니다.
- 다른 프로젝트에 있는 경우 그룹 및 프로젝트 이름을 포함합니다.
- 외부 사이트에 있는 경우 전체 URL을 입력합니다.
- 변경 사항 저장을 선택합니다.
참고: 다른 프로젝트 또는 외부 사이트에서 CI/CD 구성 파일을 편집하려면 프로젝트의 파이프라인 편집기를 사용할 수 없습니다.
커스텀 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 구성 파일이 다른 프로젝트에 있다면:
- 파일은 해당 프로젝트의 기본 브랜치에 존재해야 하거나, 참조 이름으로 브랜치를 명시해야 합니다.
- 파일의 경로는 다른 프로젝트의 루트 디렉터리를 기준으로 상대적이어야 합니다.
- 경로 뒤에
@
기호와 전체 그룹 및 프로젝트 경로를 명시해야 합니다.
예를들어:
.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
는 로컬 작업 복사본을 재사용하기 때문에 빠릅니다. (존재하지 않는 경우 클론으로 되감아집니다). 특히 대규모 저장소의 경우 추천됩니다.
-
구성된 Git 전략은 .gitlab-ci.yml
파일에서 GIT_STRATEGY
변수에 의해 재정의될 수 있습니다.
클론 중에 가져올 변경 사항의 수 제한
GitLab CI/CD가 저장소를 클론할 때 가져오는 변경 사항의 수를 제한할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 클릭하여 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
Git 전략 아래의 얕은 클론에서 값을 입력합니다.
최대 값은
1000
입니다. 얕은 클론을 비활성화하고 GitLab CI/CD가 매번 모든 브랜치와 태그를 가져오게 하려면 값이 비어 있거나0
으로 설정합니다.
새로 생성된 프로젝트의 기본 git depth
값은 20
입니다.
이 값을 .gitlab-ci.yml
파일에서 GIT_DEPTH
변수에 의해 재정의할 수 있습니다.
작업이 실행될 수 있는 최대 시간 제한 설정
작업이 몇 분 동안 실행될 수 있는지 정의할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 클릭하여 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
제한 시간 필드에 분 단위로 숫자를 입력하거나
2시간
과 같이 사람이 읽기 쉬운 형식으로 입력합니다. 10분 이상, 1개월 미만이어야 합니다. 기본값은 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를 꺼냅니다.
- 변경사항 저장을 선택합니다.
이러한 변경은 외부 통합에 있는 프로젝트에 적용되지 않습니다.