합병된 결과 파이프라인
- GitLab 14.8에서
pipelines for merged results
를merged results pipelines
로 이름 변경.- GitLab 15.1에서 소개된 합병된 결과 파이프라인은 Draft 병합 요청에서도 실행됩니다.
합병된 결과 파이프라인은 소스 및 타깃 브랜치의 결과물을 함께 합병한 후 실행됩니다. 이는 병합 요청 파이프라인의 한 유형입니다.
GitLab은 합병된 결과물에 대한 내부 커밋을 생성하여 해당 파이프라인을 실행합니다. 이 커밋은 두 브랜치 모두에는 존재하지 않지만 파이프라인 세부 정보에서 볼 수 있습니다. 내부 커밋의 작성자는 항상 해당 병합 요청을 생성한 사용자입니다.
파이프라인은 파이프라인을 실행하는 순간 타깃 브랜치에 대해 실행됩니다. 소스 브랜치에서 작업하는 동안 시간이 지남에 따라 타깃 브랜치가 변경될 수 있습니다. 합병된 결과가 정확한지 확인하려면 언제든지 파이프라인을 다시 실행해야 합니다.
타깃 브랜치에 충돌하는 변경 사항이 있는 경우 합병된 결과 파이프라인을 실행할 수 없습니다. 이러한 경우에는 파이프라인이 병합 요청 파이프라인으로 실행되며 merge request
로 표시됩니다.
전제 조건
합병된 결과 파이프라인을 사용하려면 다음이 필요합니다:
- 프로젝트의
.gitlab-ci.yml
파일은 병합 요청 파이프라인에서 작업 실행하도록 구성되어 있어야 합니다. - 귀하의 저장소는 GitLab 저장소여야 하며 외부 저장소가 아니어야 합니다.
합병된 결과 파이프라인 활성화
프로젝트에서 합병된 결과 파이프라인을 활성화하려면 적어도 Maintainer 역할이 있어야 합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 병합 요청을 선택합니다.
- 병합 옵션 섹션에서 합병된 결과 파이프라인 활성화를 선택합니다.
- 변경 사항 저장을 선택합니다.
경고: 체크박스를 선택했지만 파이프라인을 병합 요청 파이프라인으로 설정하지 않은 경우에는 병합 요청이 미해결 상태에 갇히거나 파이프라인이 삭제될 수 있습니다.
문제 해결
합병된 결과 파이프라인이 생성되지 않음
GitLab 13.7 및 이전 버전에서 기능 플래그가 비활성화되어 합병된 결과 파이프라인이 생성되지 않을 수 있습니다. 해당 기능 플래그는 GitLab 13.8에서 제거되었습니다. GitLab 13.8 이상으로 업그레이드하거나 귀하의 GitLab 인스턴스에서 :merge_ref_auto_sync
기능 플래그가 활성화되어 있는지 확인하십시오.
성공한 합병된 결과 파이프라인이 실패한 브랜치 파이프라인을 무시함
파이프라인이 성공해야 함 설정이 활성화된 경우에는 가끔 실패한 브랜치 파이프라인이 무시될 수 있습니다. 이에 대해 추적하는 이슈 385841가 열려 있습니다.