我有一个任务是创建简单的GitLab CI文件,以仅在更改了两个文件的情况下运行作业。在官方的GitLab文档中,我对此一无所获。仅当文件A更改并且文件B更改时,我才需要运行作业。
答案 0 :(得分:0)
在这种情况下,您不必自己进行更改,每次更改/提交文件A和文件B时,GitLab CI都会允许您的文件作为作业自动运行
答案 1 :(得分:0)
选项A-仅https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-advanced /不包含
这是正确的方法
your-step:
script:
- your-script.sh
only:
changes:
- "file*.extension" # I don't know the pattern of your files
选项B-使用shell脚本
您可以使用Shell脚本(或任何其他语言)执行任何操作
在此链接https://gitlab.com/gitlab-org/gitlab-foss/-/issues/19813中,您将看到很多选择。尝试尝试是否符合您的目的
选项C-使用gitlab规则https://docs.gitlab.com/ee/ci/yaml/#rules
在下面的示例中,如果任何条件匹配,将触发作业
your-step:
script:
- your-script.sh
rules:
- changes:
- fileA
- file B
- dir-with-both-files/*