Vic*_*nez 14 git continuous-integration gitlab
当且仅当存储库特定目录中的文件发生更改时,我想在 .gitlab-ci.yaml 上运行特定作业。有没有办法使用 gilab 的 ci/cd 工具来做到这一点,或者只是运行自定义构建脚本会更容易吗?
Pez*_*vak 31
从 GitLab 12.3 开始,这是可能的:
rules:
- changes:
- package.json
- yarn.lock
- exists:
- node_modules
when: never
- when: always
Run Code Online (Sandbox Code Playgroud)
您可以检查文件更改或检查是否存在。规则文档。
小智 29
GitLab 11.4 中引入的更改策略。
例如:
docker build:
script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
only:
changes:
- Dockerfile
- docker/scripts/*
- dockerfiles/**/*
- more_scripts/*.{rb,py,sh}
Run Code Online (Sandbox Code Playgroud)
在上面的场景中,如果您要将 GitLab 的多个提交推送到现有分支,GitLab 会创建并触发 docker 构建作业,前提是其中一个提交包含对以下任一方面的更改:
veb*_*ben 25
您可以使用rules:changes关键字来做到这一点:
rules:
- changes:
- directory/**/*
Run Code Online (Sandbox Code Playgroud)
请参阅: https: //docs.gitlab.com/ee/ci/yaml/#rules
| 归档时间: |
|
| 查看次数: |
16525 次 |
| 最近记录: |