在特定目录(软件包/演示)更改后,我有only:changes
来触发作业:
.demo: &demo
only:
changes:
- packages/demo/**/*
demojob:
<<: *demo
stage: test
script:
- echo demo
应在编辑packages/demo
中的某些文件时运行。
但是作业有时被解雇,有时我在packages/car/demo.txt
中编辑了文件,并触发了demojob
作业。为什么?怎么了?
我推送了一个新分支,也许它已连接到推送新分支。
答案 0 :(得分:0)
您是对的。据我所知,“仅:更改”功能通过将当前提交与同一分支上的最后一个提交进行比较来工作。由于您要推送到新引用,因此新提交没有可比较的内容,因此“仅:更改”返回True,并创建了作业。这是明确的here:
将新分支或新标签推送到GitLab时,策略始终 计算结果为true。
要始终避免创建作业,您需要使用“ only:refs”指定分支。