有没有办法让 Gitlab CI 运行 只有当我提交一个实际文件时?
Is there a way to make Gitlab CI run only when I commit an actual file?
Gitlab 新手 CI/CD。
在我的 .gitlab-ci.yml
文件中使用什么正确的构造来确保我的验证作业仅在发生 "real" 签入时运行?
我的意思是,我观察到当我创建一个合并请求时,比如说——这当然创建了一个新分支——CI/CD 进程运行。也就是说,分支创建本身,尽管没有文件发生更改,但会导致处理 .gitlab-ci.yml
文件并启动管道。
理想情况下,我只希望在实际更改文件或添加文件等时发生这种事情——用常识来说,我不希望CI/CD 运行 愚蠢的操作实际上并没有真正改变正在开发的软件的状态。
我还算熟悉 except
和 only
,但这些似乎无法按照我想要的方式进行限制。我是否缺少基本类别或食谱?
恐怕你的要求在 Gitlab 中是不可能的 CI。
可能有一种方法可以使用 CI_COMMIT_SHA
预定义变量,因为与源分支相比,新分支中的变量是相同的。
不过,管道将 运行 才能确定或比较自定义脚本或条件中的 SHA。
Gitlab 运行s 用于分支或标记的管道,而不是提交。推送到 repo 会触发管道,分支实际上是将更改推送到 repo。
Gitlab 新手 CI/CD。
在我的 .gitlab-ci.yml
文件中使用什么正确的构造来确保我的验证作业仅在发生 "real" 签入时运行?
我的意思是,我观察到当我创建一个合并请求时,比如说——这当然创建了一个新分支——CI/CD 进程运行。也就是说,分支创建本身,尽管没有文件发生更改,但会导致处理 .gitlab-ci.yml
文件并启动管道。
理想情况下,我只希望在实际更改文件或添加文件等时发生这种事情——用常识来说,我不希望CI/CD 运行 愚蠢的操作实际上并没有真正改变正在开发的软件的状态。
我还算熟悉 except
和 only
,但这些似乎无法按照我想要的方式进行限制。我是否缺少基本类别或食谱?
恐怕你的要求在 Gitlab 中是不可能的 CI。
可能有一种方法可以使用 CI_COMMIT_SHA
预定义变量,因为与源分支相比,新分支中的变量是相同的。
不过,管道将 运行 才能确定或比较自定义脚本或条件中的 SHA。
Gitlab 运行s 用于分支或标记的管道,而不是提交。推送到 repo 会触发管道,分支实际上是将更改推送到 repo。