Gitlab CI / CD的新手。
在.gitlab-ci.yml
文件中使用的正确构造是什么,以确保我的验证作业仅在"真正的"签到了吗?
我的意思是,我观察到我创建合并请求的那一刻,比如说 - 当然会创建一个新的分支 - CI / CD进程运行。也就是说,分支创建本身,尽管事实上没有文件发生变化,导致.gitlab-ci.yml
文件被处理并且管道被启动。
理想情况下,我只希望在文件或文件添加等实际发生更改时发生此类事情 - 从常识来讲,我不想要CI / CD运行在愚蠢的操作上,实际上并没有真正改变正在开发的软件的状态。
我对except
和only
非常熟悉,但这些似乎无法按我想要的方式限制事物。我错过了一个基本类别或食谱吗?
答案 0 :(得分:3)
我害怕你在Gitlab CI中不可能提出的问题。
可能有一种方法可以使用ArrayList<HashMap<String, String>>
预定义变量,因为与源分支相比,新分支中的变量相同。
但是,管道将在自定义脚本或条件中确定或比较SHA之前运行。
Gitlab运行分支或标签的管道,而不是提交。推送到repo会触发一个管道,分支实际上正在推动对repo的更改。