- 触发作业失败并且没有创建多项目流水线
- 流水线运行时未创建子流水线中的作业
- 带有
$
字符的变量没有正确传递到下游流水线 Ref is ambiguous
- 从上游流水线下载作业产物时出现
403 Forbidden
错误
触发作业失败并且没有创建多项目流水线
在多项目流水线中,如果出现以下情况,触发作业会失败并且不会创建下游流水线:
- 找不到下游项目。
- 创建上游流水线的用户没有在下游项目中创建流水线的权限。
- 下游流水线针对受保护的分支,而用户没有权限在受保护的分支上运行流水线。有关更多信息,请参阅受保护分支的流水线安全性。
要识别在下游项目中权限有问题的用户,可以使用以下命令在Rails 控制台中检查触发作业,并查看 user_id
属性。
Ci::Bridge.find(<job_id>)
流水线运行时未创建子流水线中的作业
如果父流水线是合并请求流水线,子流水线必须使用 workflow:rules
或 rules
来确保作业运行。
如果由于缺少或错误的 rules
配置导致子流水线中的作业无法运行:
- 子流水线启动失败。
- 父流水线的触发作业失败,显示:
下游流水线无法创建,生成的流水线将为空。请检查相关作业的
rules
配置。
带有 $
字符的变量没有正确传递到下游流水线
当将 CI/CD 变量传递给下游流水线时,不能使用 $$
来转义 CI/CD 变量中的 $
字符。下游流水线仍然将 $
视为变量引用的开始。
相反,使用 variables:expand
关键字来设置变量值不被展开。此变量可以传递给下游流水线,而不会将 $
解释为变量引用。
Ref is ambiguous
当存在同名分支时,不能使用标签触发多项目流水线。下游流水线无法创建,并出现错误:下游流水线无法创建,Ref is ambiguous
。
仅使用与分支名称不匹配的标签名称触发多项目流水线。
从上游流水线下载作业产物时出现 403 Forbidden
错误
在极狐 GitLab 15.9 及更高版本中,CI/CD 作业令牌的作用域限定为流水线执行的项目。因此,下游流水线中的作业令牌默认情况下不能用于访问上游项目。
为了解决此问题,将下游项目添加到作业令牌作用域允许列表。