kap*_*siR 11 gitlab gitlab-ci gitlab-ci.yml
发布管道应该启动特定分支的部署。如果只有文档更改,则不应
发生
这种情况(跳过作业)。(文件)*.md
如果您更改多个文件,但只有一个文件以 结尾
.md,build则仍会跳过该作业。该作业不会针对任何文件运行。
https://docs.gitlab.com/ee/ci/jobs/job_control.html#onlychanges-- exceptchanges-examples
那么,是否有可能像上面提到的那样指定一个规则呢?
那么,如果"*.md"不起作用,是否可以恢复呢?
"**/!(*.md)" # Every file except *.md
这不会执行任何操作
rules:
- if: $CI_COMMIT_BRANCH == "main"
changes:
- "**/!(*.md)" # Every file except *.md
Run Code Online (Sandbox Code Playgroud)
这总是执行
rules:
- if: $CI_COMMIT_BRANCH == "main"
- changes:
- "**/!(*.md)"
Run Code Online (Sandbox Code Playgroud)
我必须使用自定义变量来解决这个问题还是有更简单的方法?
联系 GitLab 支持后,我可以在此处记录,目前无法做到这一点。
为此特定用例创建了一个新问题:
https://gitlab.com/gitlab-org/gitlab/-/issues/348141
下面是更优雅的解决方案,并记录在 GitLab 文档中。
所以有两种方法。
要推送提交而不触发管道,请使用任意大小写将[ci skip]或添加[skip ci]到提交消息中。
或者,如果您使用 Git 2.10 或更高版本,请使用 ci.skip Git 推送选项。ci.skip 推送选项不会跳过合并请求管道。
git push --push-option=ci.skip
对于 GL 版本 2.18 及更高版本,甚至是短版本
git push -o ci.skip
参考:
| 归档时间: |
|
| 查看次数: |
5571 次 |
| 最近记录: |