- 사용자가 파이프라인을 볼 수 있는 권한 변경
- 중복되는 파이프라인 자동 취소
- 오래 된 배포 작업 방지
- 파이프라인 또는 작업을 취소할 수 있는 권한을 가진 역할 제한
- 사용자 정의 CI/CD 구성 파일 지정
- 기본 Git 전략 선택
- 복제 중에 검색되는 변경 사항 수 제한
- 작업 실행 시간 제한 설정
- 파이프라인 뱃지
- GitLab CI/CD 파이프라인 비활성화
파이프라인 구성 사용자 정의
프로젝트의 파이프라인 실행 방식을 사용자 정의할 수 있습니다.
파이프라인 개요에 대한 비디오인 GitLab CI 파이프라인, 아티팩트 및 환경를 시청하세요. 또한 초보자를 위한 GitLab CI 파이프라인 자습서도 시청하세요.
사용자가 파이프라인을 볼 수 있는 권한 변경
공개 및 내부 프로젝트에서 다음을 볼 수 있는 사용자를 변경할 수 있습니다:
- 파이프라인
- 작업 출력 로그
- 작업 아티팩트
- 파이프라인 보안 대시보드
파이프라인 및 관련 기능의 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
공용 파이프라인 확인란을 선택하거나 선택 취소합니다. 선택된 경우, 파이프라인 및 관련 기능이 다음과 같이 표시됩니다:
- 공개 프로젝트의 경우, 모든 사람에게 표시됩니다.
- 내부 프로젝트의 경우, 외부 사용자를 제외한 모든 인증된 사용자에게 표시됩니다(게스트 사용자 포함).
- 비공개 프로젝트의 경우, 모든 프로젝트 구성원(Guest 이상)에게 표시됩니다.
선택을 해제하면:
- 공개 프로젝트의 경우, 작업 로그, 작업 아티팩트, 파이프라인 보안 대시보드 및 CI/CD 메뉴 항목이 프로젝트 구성원(Reporter 이상)만 볼 수 있습니다. 다른 사용자(게스트 사용자 포함)는 병합 요청 또는 커밋을 볼 때만 파이프라인 및 작업 상태만 볼 수 있습니다.
- 내부 프로젝트의 경우, 파이프라인은 외부 사용자를 제외한 모든 인증된 사용자에게 표시됩니다. 관련 기능은 프로젝트 구성원(Reporter 이상)만 볼 수 있습니다.
- 비공개 프로젝트의 경우, 파이프라인 및 관련 기능은 프로젝트 구성원(Reporter 이상)만 볼 수 있습니다.
공개 프로젝트의 비프로젝트 구성원용 파이프라인 가시성 변경
공개 프로젝트의 비프로젝트 구성원용 파이프라인 가시성을 제어할 수 있습니다.
이 설정은 다음과 같은 경우에는 영향을 미치지 않습니다:
비프로젝트 구성원용 파이프라인 가시성을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 가시성, 프로젝트 기능, 권한을 확장합니다.
-
CI/CD에서 다음 중 선택합니다:
- 프로젝트 구성원만: 프로젝트 구성원만 파이프라인을 볼 수 있습니다.
- 액세스 권한이 있는 모든 사용자: 비프로젝트 구성원도 파이프라인을 볼 수 있습니다.
- 변경 사항 저장을 선택합니다.
CI/CD 권한 테이블에서 액세스 권한이 있는 모든 사용자가 선택된 경우 비프로젝트 구성원이 액세스할 수 있는 파이프라인 기능을 나열합니다.
중복되는 파이프라인 자동 취소
보류 중이거나 실행 중인 파이프라인을 동일한 브랜치에서 새 변경에 대한 파이프라인이 실행될 때 자동으로 취소하도록 설정할 수 있습니다. 이 기능은 프로젝트 설정에서 활성화할 수 있습니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 중복된 파이프라인 자동 취소 확인란을 선택합니다.
- 변경 사항 저장을 선택합니다.
interruptible
키워드를 사용하여 실행 중인 작업을 완료하기 전에 취소할 수 있는지 표시할 수 있습니다. interruptible: false
로 시작한 작업 이후에는 전체 파이프라인이 더 이상 취소 가능한 것으로 간주되지 않습니다.
오래 된 배포 작업 방지
프로젝트에는 동일한 시간대에 실행할 예정인 여러 개의 동시 배포 작업이 있을 수 있습니다.
이로 인해 최신 배포 작업이 이전 작업 이후에 실행될 수 있으며, 이는 원하는 바가 아닐 수 있습니다.
이 시나리오를 피하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 오래 된 배포 작업 방지 확인란을 선택합니다.
- 선택 사항입니다. 롤백 배포에 대한 작업 재시도 허용 확인란을 선택 취소합니다.
- 변경 사항 저장을 선택합니다.
자세한 내용은 배포 안전성을 참조하세요.
파이프라인 또는 작업을 취소할 수 있는 권한을 가진 역할 제한
- GitLab 16.7에서 도입됨.
파이프라인 또는 작업을 취소할 수 있는 권한을 사용자 역할에 맞게 사용자 정의할 수 있습니다.
기본적으로 적어도 개발자 역할을 가진 사용자는 파이프라인 또는 작업을 취소할 수 있습니다. 파이프라인 또는 작업을 취소할 수 있는 권한을 유지자 역할을 적어도 가진 사용자에게 제한하거나 어떤 파이프라인 또는 작업도 완전히 취소할 수 없도록 할 수 있습니다.
파이프라인 또는 작업을 취소할 수 있는 권한을 변경하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
- 파이프라인 또는 작업을 취소하는 데 필요한 최소 역할에서 옵션을 선택합니다.
- 변경 사항 저장을 선택합니다.
사용자 정의 CI/CD 구성 파일 지정
- 외부
.gitlab-ci.yml
위치 지원 GitLab 12.6에서 도입됨.
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 구성 파일이 다른 프로젝트에 있는 경우:
- 파일은 기본 브랜치에 있어야 하며 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 클론
은 매 작업마다 저장소를 처음부터 복제하기 때문에 느립니다. 그러나 로컬 작업 사본은 항상 쾌적합니다. -
git 페치
는 로컬 작업 사본을 재사용하기 때문에 빠릅니다 (존재하지 않는 경우 복제됨). 큰 저장소의 경우 특히 권장됩니다.
-
.gitlab-ci.yml
파일에서 GIT_STRATEGY
변수로 구성된 Git 전략을 재정의할 수 있습니다.
복제 중에 검색되는 변경 사항 수 제한
- GitLab 12.0에서 도입됨.
- GitLab 14.7에서
git depth
의 값이 변경되었습니다.
GitLab CI/CD가 저장소를 복제할 때 검색하는 변경 사항 수를 제한할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
Git 전략 아래 Git Shallow Clone에서 값을 입력합니다.
최대 값은
1000
입니다. 얕은 복제를 비활성화하고 GitLab CI/CD가 매번 모든 브랜치와 태그를 가져오도록 하려면 비어 있거나0
으로 설정합니다.
GitLab 14.7 이후에는 새로 생성된 프로젝트의 기본 git depth
값은 20
입니다. GitLab 14.6 이전에는 기본 git depth
값은 50
입니다.
이 값을 .gitlab-ci.yml
파일의 GIT_DEPTH
변수로 재정의할 수 있습니다.
작업 실행 시간 제한 설정
작업이 타임아웃되기 전에 얼마나 오래 실행될 수 있는지 정의할 수 있습니다.
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > CI/CD를 선택합니다.
- 일반 파이프라인을 확장합니다.
-
제한 시간 필드에 분 단위로 숫자나
2시간
과 같은 사람이 이해하기 쉬운 값과 같이 입력합니다. 최소 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를 끕니다.
- 변경사항 저장을 선택합니다.
이 변경 사항은 외부 통합을 사용하는 프로젝트에는 적용되지 않습니다.