다운스트림 파이프라인 문제 해결
다운스트림 파이프라인과 관련된 일반적인 문제를 진단하고 해결하는 방법을 설명합니다.
트리거 job 실패 및 멀티 프로젝트 파이프라인 미생성 # 멀티 프로젝트 파이프라인에서 다음과 같은 경우 트리거 job이 실패하고 다운스트림 파이프라인이 생성되지 않습니다: 다운스트림 프로젝트를 찾을 수 없는 경우. 업스트림 파이프라인을 생성하는 사용자가 다운스트림 프로젝트에서 파이프라인을 생성할 권한 이 없는 경우. 다운스트림 파이프라인이 보호된 브랜치를 대상으로 하고 사용자가 보호된 브랜치에 대해 파이프라인을 실행할 권한이 없는 경우. 자세한 내용은 보호된 브랜치의 파이프라인 보안 을 참조하세요. 다운스트림 프로젝트에서 권한 문제가 있는 사용자를 파악하려면 Rails 콘솔 에서 다음 명령을 사용하여 트리거 job을 확인하고 user_id 속성을 살펴볼 수 있습니다. Ci : :Bridge .find(<job_id>) 파이프라인 실행 시 자식 파이프라인의 job이 생성되지 않음 # 부모 파이프라인이 머지 리퀘스트 파이프라인 인 경우 자식 파이프라인은 job이 실행되도록 workflow:rules 또는 rules 를 사용 해야 합니다. rules 구성이 누락되거나 잘못되어 자식 파이프라인에서 실행할 수 있는 job이 없는 경우: 자식 파이프라인이 시작되지 않습니다. 부모 파이프라인의 트리거 job이 다음과 같이 실패합니다: downstream pipeline can not be created, the resulting pipeline would have been empty. Review the rules configuration for the relevant jobs. $ 문자가 포함된 변수가 다운스트림 파이프라인에 제대로 전달되지 않음 # CI/CD 변수를 다운스트림 파이프라인에 전달 할 때 CI/CD 변수에서 $ 문자를 이스케이프하기 위해 $$ 를 사용 할 수 없습니다. 다운스트림 파이프라인은 여전히 $ 를 변수 참조의 시작으로 처리합니다. UI에서 변수를 구성할 때 CI/CD 변수 확장을 방지 하거나 variables:expand 키워드 를 사용하여 변수 값이 확장되지 않도록 설정할 수 있습니다. 그러면 이 변수를 다운스트림 파이프라인에 $ 가 변수 참조로 해석되지 않고 전달할 수 있습니다. Ref is ambiguous # 같은 이름의 브랜치가 존재할 때 태그로 멀티 프로젝트 파이프라인을 트리거할 수 없습니다. 다운스트림 파이프라인이 downstream pipeline can not be created, Ref is ambiguous 라는 오류와 함께 생성에 실패합니다. 브랜치 이름과 일치하지 않는 태그 이름으로만 멀티 프로젝트 파이프라인을 트리거합니다. 업스트림 파이프라인에서 job 아티팩트 다운로드 시 403 Forbidden 오류 # GitLab 15.9 이상에서는 CI/CD job 토큰이 파이프라인이 실행되는 프로젝트로 범위가 지정됩니다. 따라서 다운스트림 파이프라인의 job 토큰은 기본적으로 업스트림 프로젝트에 접근하는 데 사용할 수 없습니다. 이 문제를 해결하려면 job 토큰 범위 허용 목록에 다운스트림 프로젝
