Gitlab 合并请求已从带有“的合并列车中删除”;此管道没有阶段/作业。”;
当我在合并请求(MR)上单击Start merge train时,GitLab会在MR的系统注释中添加以下内容: @斯弗伦奇克刚刚启动了一列合并列车 太好了。但是,几秒钟后,系统注释中添加了以下内容: @sferencik从合并序列中删除了此合并请求,因为此管道没有阶段/作业。刚才 [我的重点] 管道列表中没有新条目:合并列车甚至没有启动一个 这方面的问题。也谈到了这一点,尽管是在不同的背景下 我做错了什么?我已经将我的Gitlab 合并请求已从带有“的合并列车中删除”;此管道没有阶段/作业。”;,gitlab,gitlab-ci,Gitlab,Gitlab Ci,当我在合并请求(MR)上单击Start merge train时,GitLab会在MR的系统注释中添加以下内容: @斯弗伦奇克刚刚启动了一列合并列车 太好了。但是,几秒钟后,系统注释中添加了以下内容: @sferencik从合并序列中删除了此合并请求,因为此管道没有阶段/作业。刚才 [我的重点] 管道列表中没有新条目:合并列车甚至没有启动一个 这方面的问题。也谈到了这一点,尽管是在不同的背景下 我做错了什么?我已经将我的.gitlab ci.yml缩减到最低限度,只剩下一个阶段和一个作业,而这是
.gitlab ci.yml
缩减到最低限度,只剩下一个阶段和一个作业,而这是不可能的。我不明白为什么GitLab在执行了之后,应该创建一个“没有阶段/作业”的管道
这不是构建问题:当我单击“开始合并序列”时,我的功能分支(我要合并的分支)上的管道已经成功
此外,如果我关闭,我的夫人有一个合并按钮,而不是启动合并列车,它的工作刚刚好
这是从我们从GitLab 12.0升级到12.1时开始的。好的,这是由于我的错误:要求每个作业都显式标记为
only:
- merge_requests
我的工作没有这个明确的条件。(事实上,正如我上面所描述的,我很小心地从我的工作中删除了所有条件。)
因此,当我点击Start merge train时,一个新的管道被(或将被)实例化,其中只有那些具有上述条件的作业。在我的例子中,根本没有作业,因此出现错误消息:此管道没有阶段/作业
可能的解决办法是:
- 关闭预合并生成(设置>常规>合并请求>取消选中合并管道将在合并前尝试验证合并后结果)
- 修改
,用“仅:合并请求”条件标记每个作业(阅读如何构建条件,使作业不限于合并请求).gitlab ci.yml
merge-request-only:
stage: build
script: echo test
only:
refs:
- merge_requests
variables:
- $CI_MERGE_REQUEST_EVENT_TYPE == "merged_result"
仅合并列车:
merge-train-only-test:
stage: build
script: echo test
only:
refs:
- merge_requests
variables:
- $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train"