- 브랜치에 푸시할 때 두 개의 파이프라인
- 잘못된 CI/CD 구성 파일을 푸시할 때 두 개의 파이프라인
- 병합 요청의 파이프라인이 실패로 표시되지만 최신 파이프라인은 성공함
이 병합 요청에 대해 새 파이프라인을 실행하는 중 오류가 발생했습니다.
병합 차단: 파이프라인이 성공해야 합니다. 실패를 수정하는 새로운 커밋을 푸시하세요
메시지
병합 요청 파이프라인 문제 해결
병합 요청 파이프라인 작업 중 다음과 같은 문제를 발견할 수 있습니다.
브랜치에 푸시할 때 두 개의 파이프라인
병합 요청에서 중복 파이프라인이 표시되는 경우, 파이프라인이 두 개의 브랜치와 병합 요청 모두에 대해 동시에 실행되도록 구성되었을 수 있습니다. 중복 파이프라인을 피하기 위해 파이프라인 구성을 조정하세요.
workflow:rules
를 추가하여 브랜치 파이프라인에서 병합 요청 파이프라인으로 전환할 수 있습니다.
브랜치에서 병합 요청이 열리면 파이프라인이 병합 요청 파이프라인으로 전환됩니다.
잘못된 CI/CD 구성 파일을 푸시할 때 두 개의 파이프라인
병합 요청의 브랜치에 잘못된 CI/CD 구성을 푸시하면, 파이프라인 탭에 두 개의 실패한 파이프라인이 나타납니다. 하나는 실패한 브랜치 파이프라인이고, 다른 하나는 실패한 병합 요청 파이프라인입니다.
구성 구문이 수정되면 이후에는 실패한 파이프라인이 나타나지 않아야 합니다.
구성 문제를 찾고 수정하려면 다음을 사용할 수 있습니다:
병합 요청의 파이프라인이 실패로 표시되지만 최신 파이프라인은 성공함
단일 병합 요청의 파이프라인 탭에 브랜치 파이프라인과 병합 요청 파이프라인이 모두 존재할 수 있습니다.
이것은 구성에 따른 결과일 수 있습니다 또는 우연에 의한 결과일 수 있습니다.
프로젝트에 파이프라인이 성공해야 함이 활성화되어 있고 두 가지 파이프라인 유형이 모두 존재하는 경우, 병합 요청 파이프라인이 확인됩니다.
브랜치 파이프라인은 확인되지 않습니다.
따라서 병합 요청 파이프라인이 실패할 경우, 브랜치 파이프라인 결과와 관계없이 MR 파이프라인 결과가 실패로 표기됩니다.
그러나:
- 이러한 조건은 강제 적용되지 않습니다.
- 경쟁 상태에 따라 어떤 파이프라인의 결과가 병합 요청을 차단하거나 통과시키는 데 사용되는지가 결정됩니다.
이 버그는 문제 384927에서 추적됩니다.
이 병합 요청에 대해 새 파이프라인을 실행하는 중 오류가 발생했습니다.
이 오류는 병합 요청에서 파이프라인 실행을 선택했지만, 프로젝트에 더 이상 병합 요청 파이프라인이 활성화되지 않았을 때 발생할 수 있습니다.
이 오류 메시지의 몇 가지 가능한 이유:
- 프로젝트에 병합 요청 파이프라인이 비활성화되어 있고, 파이프라인 탭에 나열된 파이프라인이 없으며, 파이프라인 실행을 선택합니다.
-
프로젝트에 병합 요청 파이프라인이 활성화되어 있었으나, 구성이 제거되었습니다. 예를 들어:
- 프로젝트는 병합 요청 생성 시
.gitlab-ci.yml
구성 파일에서 병합 요청 파이프라인이 활성화되어 있습니다. - 병합 요청의 파이프라인 탭에서 파이프라인 실행 옵션이 사용 가능하며, 이 시점에서 파이프라인 실행을 선택해도 오류가 발생하지 않습니다.
- 프로젝트의
.gitlab-ci.yml
파일이 변경되어 병합 요청 파이프라인 구성이 제거됩니다. - 브랜치가 재기반화되어 최신 구성이 병합 요청으로 반영됩니다.
- 이제 파이프라인 구성은 병합 요청 파이프라인을 지원하지 않지만, 병합 요청 파이프라인을 실행하기 위해 파이프라인 실행을 선택합니다.
- 프로젝트는 병합 요청 생성 시
파이프라인 실행이 가능하지만 프로젝트에 병합 요청 파이프라인이 비활성화되어 있다면 이 옵션을 사용하지 마세요.
새로운 브랜치 파이프라인을 트리거하려면 커밋을 푸시하거나 브랜치를 재기반화할 수 있습니다.
병합 차단: 파이프라인이 성공해야 합니다. 실패를 수정하는 새로운 커밋을 푸시하세요
메시지
이 메시지는 병합 요청 파이프라인, 병합 결과 파이프라인, 또는 병합 기차 파이프라인이 실패했거나 취소될 경우 표시됩니다.
브랜치 파이프라인이 실패할 때는 이런 일이 발생하지 않습니다.
병합 요청 파이프라인 또는 병합 결과 파이프라인이 취소되었거나 실패한 경우, 다음을 수행할 수 있습니다:
- 병합 요청의 파이프라인 탭에서 Run pipeline을 선택하여 전체 파이프라인을 다시 실행합니다.
- 실패한 작업만 재시도합니다. 전체 파이프라인을 다시 실행하는 경우, 이는 필요하지 않습니다.
- 실패를 수정하기 위해 새로운 커밋을 푸시합니다.
병합 기차 파이프라인이 실패한 경우, 다음을 수행할 수 있습니다:
- 실패를 확인하고 즉시 병합 요청을 기차에 다시 추가할 수 있는
/merge
빠른 작업을 사용할 수 있는지 결정합니다. - 병합 요청의 파이프라인 탭에서 Run pipeline을 선택하여 전체 파이프라인을 다시 실행한 후, 병합 요청을 다시 기차에 추가합니다.
- 실패를 수정하기 위한 커밋을 푸시한 후, 병합 요청을 다시 기차에 추가합니다.
병합 요청이 병합되기 전에 병합 기차 파이프라인이 실패 없이 취소된 경우, 다음을 수행할 수 있습니다:
- 다시 기차에 추가합니다.