我在GitLab上有一个单体仓库,使用特性分支的方法。
我的目标是启动与包含更改文件的目录相关联的部分流水线。因此,我的.gitlab-ci.yml文件看起来像:
job1:
stage: build
script:
- ...
only:
changes:
- myparentdir/dir1/*
job2:
stage: build
script:
- ...
only:
changes:
- myparentdir/dir2/*
- 从develop分支创建一个新的分支
- 在这个分支上提交myparentdir/dir2/test.txt文件
- 管道将启动每个构建工作!
似乎GitLab在使用新功能分支时会将所有文件视为已更改。
您知道有什么解决方法吗?
only: changes
结合only: refs: - merge_requests
看起来可以让我拥有特定于代码的流水线,但是由于“only: merge_requests 参数的行为是这样的,只有带有该参数的作业才会在合并请求的上下文中运行;不会运行其他任何作业。” 来自 https://docs.gitlab.com/ee/ci/merge_request_pipelines/,所以我不能让一些作业适用于所有代码更改,而另一些作业则适用于特定的文件路径。 - mmacvicar