Gitlab CI / CD更改未按预期进行

时间:2020-10-05 13:02:07

标签: gitlab gitlab-ci

在特定目录(软件包/演示)更改后,我有only:changes来触发作业:

.demo: &demo
  only:
    changes:
      - packages/demo/**/*
demojob:
  <<: *demo  
  stage: test 
  script:
    - echo demo

应在编辑packages/demo中的某些文件时运行。

但是作业有时被解雇,有时我在packages/car/demo.txt中编辑了文件,并触发了demojob作业。为什么?怎么了?

我推送了一个新分支,也许它已连接到推送新分支。

1 个答案:

答案 0 :(得分:0)

您是对的。据我所知,“仅:更改”功能通过将当前提交与同一分支上的最后一个提交进行比较来工作。由于您要推送到新引用,因此新提交没有可比较的内容,因此“仅:更改”返回True,并创建了作业。这是明确的here

将新分支或新标签推送到GitLab时,策略始终 计算结果为true。

要始终避免创建作业,您需要使用“ only:refs”指定分支。