병합된 결과 파이프라인
- GitLab 15.1에서 도입된 병합된 결과 파이프라인은 드래프트 병합 요청에서도 실행됩니다.
병합된 결과 파이프라인은 소스 브랜치와 타겟 브랜치가 병합된 결과에서 실행됩니다.
이것은 병합 요청 파이프라인의 한 종류입니다.
GitLab은 병합된 결과로 내부 커밋을 생성하여 파이프라인이
그에 대해 실행될 수 있도록 합니다. 이 커밋은 어느 브랜치에도 존재하지 않지만,
파이프라인 세부정보에서 확인할 수 있습니다. 내부 커밋의 작성자는
항상 병합 요청을 생성한 사용자입니다.
파이프라인은 파이프라인을 실행하는 순간의 타겟 브랜치에 대해 실행됩니다.
코드를 소스 브랜치에서 작업하는 동안, 타겟 브랜치가 변경될 수 있습니다.
병합된 결과가 정확한지 확실히 하고 싶다면 파이프라인을 다시 실행해야 합니다.
병합된 결과 파이프라인은 타겟 브랜치에 소스 브랜치의 변경 사항과 충돌하는
변경 사항이 있는 경우 실행될 수 없습니다.
이 경우, 파이프라인은 병합 요청 파이프라인으로 실행되며
merge request
로 레이블이 붙습니다.
필수 조건
병합된 결과 파이프라인을 사용하려면:
- 프로젝트의
.gitlab-ci.yml
파일이
병합 요청 파이프라인에서 작업 실행하도록 구성되어야 합니다. - 리포지토리는 GitLab 리포지토리여야 하며,
외부 리포지토리가 아니어야 합니다.
병합된 결과 파이프라인 활성화
프로젝트에서 병합된 결과 파이프라인을 활성화하려면 최소한
Maintainer 역할이 있어야 합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 옵션 섹션에서 병합된 결과 파이프라인 활성화를 선택합니다.
- 변경 사항 저장을 선택합니다.
경고:
체크박스를 선택했지만 파이프라인이 병합 요청 파이프라인을 사용하도록 구성하지 않으면,
병합 요청이 해결되지 않은 상태로 멈추거나 파이프라인이 중단될 수 있습니다.
문제 해결
rules:changes:compare_to
로 예상치 못한 작업이나 파이프라인이 실행됨
병합 요청 파이프라인과 함께 rules:changes:compare_to
를 사용할 때
예상치 못하게 실행되는 작업이나 파이프라인이 있을 수 있습니다.
병합된 결과 파이프라인에서는 GitLab이 생성한 내부 커밋이 비교의 기준으로 사용됩니다.
이 커밋은 MR 브랜치의 끝보다 더 많은 변경 사항을 포함하고 있을 가능성이 있어
예상치 못한 결과를 초래합니다.
성공한 병합된 결과 파이프라인이 실패한 브랜치 파이프라인을 무시함
파이프라인이 성공해야 함 설정이 활성화되면
실패한 브랜치 파이프라인이 때때로 무시될 수 있습니다.
이슈 385841이 이 내용을 추적하기 위해 열려 있습니다.