머지 리퀘스트 파이프라인
GitLab CI/CD에서 머지 리퀘스트 파이프라인을 사용하여 변경 사항을 효율적으로 테스트하고, 타겟 job을 실행하며, 머지 전 코드 품질을 향상시키는 방법을 알아보세요.
머지 리퀘스트의 소스 브랜치에 변경 사항을 만들 때마다 파이프라인이 실행되도록 구성할 수 있습니다. 이러한 유형의 파이프라인을 머지 리퀘스트 파이프라인이라고 합니다. 이 파이프라인은 다음과 같은 경우에 실행됩니다: 하나 이상의 커밋이 있는 소스 브랜치에서 새 머지 리퀘스트를 생성하는 경우. 머지 리퀘스트의 소스 브랜치에 새 커밋을 푸시하는 경우. 머지 리퀘스트의 Pipelines 탭으로 이동하여 Run pipeline 을 선택하는 경우. 머지 리퀘스트 파이프라인: 소스 브랜치의 콘텐츠에서만 실행되며 타겟 브랜치의 콘텐츠는 무시합니다. 파이프라인 목록에 merge request 레이블을 표시합니다. 소스 브랜치와 타겟 브랜치를 병합한 결과를 테스트하는 파이프라인을 실행하려면 병합 결과 파이프라인 을 사용하세요. 전제 조건 # 머지 리퀘스트 파이프라인을 사용하려면: 프로젝트의 .gitlab-ci.yml 파일에 CI_PIPELINE_SOURCE == "merge_request_event" 와 일치하는 job 규칙이나 워크플로우 규칙이 포함되어 있어야 합니다. 소스 프로젝트에서 머지 리퀘스트 파이프라인을 실행하려면 Developer, Maintainer, 또는 Owner 권한이 있어야 합니다. 저장소는 외부 저장소 가 아닌 GitLab 저장소여야 합니다. 머지 리퀘스트 파이프라인 구성 # 머지 리퀘스트 파이프라인을 구성하려면 .gitlab-ci.yml 파일에서 CI_PIPELINE_SOURCE 가 merge_request_event 와 같을 때 실행되도록 job을 구성해야 합니다. Note include: 에 정의된 규칙(예: include:component 사용)은 이 요구 사항을 충족하지 않습니다. .gitlab-ci.yml 에 직접 일치하는 rules: 또는 workflow: rules 를 정의해야 합니다. 개별 job에 rules 를 구성하거나, workflow: rules 를 사용하여 전체 파이프라인을 제어할 수 있습니다. 개별 job 구성 # rules 키워드를 사용하여 머지 리퀘스트 파이프라인에서 실행할 개별 job을 구성하세요. 예시: job1: script: - echo "This job runs in merge request pipelines" rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" 파일 변경에 따라 job이 실행되는 시기를 제어할 수도 있습니다: test: script: - echo "This job always runs in merge request pipelines" rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" lint: script: - echo "This job runs only when JavaScript files change" rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" changes: - "*.js" 전체 파이프라인 구성 # wor
