有没有办法让Gitlab CI仅在我提交实际文件时运行?

时间:2017-09-13 02:33:09

标签: gitlab-ci

Gitlab CI / CD的新手。

.gitlab-ci.yml文件中使用的正确构造是什么,以确保我的验证作业仅在"真正的"签到了吗?

我的意思是,我观察到我创建合并请求的那一刻,比如说 - 当然会创建一个新的分支 - CI / CD进程运行。也就是说,分支创建本身,尽管事实上没有文件发生变化,导致.gitlab-ci.yml文件被处理并且管道被启动。

理想情况下,我只希望在文件或文件添加等实际发生更改时发生此类事情 - 从常识来讲,我不想要CI / CD运行在愚蠢的操作上,实际上并没有真正改变正在开发的软件的状态。

我对exceptonly非常熟悉,但这些似乎无法按我想要的方式限制事物。我错过了一个基本类别或食谱吗?

1 个答案:

答案 0 :(得分:3)

我害怕你在Gitlab CI中不可能提出的问题。

可能有一种方法可以使用ArrayList<HashMap<String, String>>预定义变量,因为与源分支相比,新分支中的变量相同。

但是,管道将在自定义脚本或条件中确定或比较SHA之前运行。

Gitlab运行分支或标签的管道,而不是提交。推送到repo会触发一个管道,分支实际上正在推动对repo的更改。