Shi*_*r G 8 continuous-integration gitlab gitlab-ci
我能够使用以下语法忽略目录、文件更改。
build:
script: npm run build
except:
changes:
- "*.md"
- "src/**/*.ts"
Run Code Online (Sandbox Code Playgroud)
使用此配置build
作业将运行,除了 git 更改仅包含*.md
扩展文件或*.ts
目录中的src
文件。他们被忽视了。
但后来他们弃用了 this only:changes
,except:changes
语法并警告改用rules
语法。不幸的是,我似乎无法找到如何使用这种新语法忽略目录、文件更改。
Ami*_*hah 23
根据的文档rules: changes
,似乎when: never
必须与语法一起使用rules: changes
。就像下面这样:
build:
script: npm run build
rules:
- changes:
- "*.md"
- "src/**/*.ts"
when: never
- when: always
Run Code Online (Sandbox Code Playgroud)
如果存储库中更改的路径与上述正则表达式匹配,则该作业将不会添加到任何管道中。在其他情况下,作业始终由管道运行。
小智 13
令人惊讶的是,目前看来这是不可能的——无论是与except/only
还是与rules
。这似乎是此请求功能的“最佳”开放问题:https://gitlab.com/gitlab-org/gitlab/-/issues/198688
我想您只能在检测到相关更改时反转逻辑并启用构建(示例改编自https://docs.gitlab.com/ee/ci/yaml/#ruleschanges):
job:
rules:
- changes:
- relevant/path/file
when: on_success
- changes:
- path/to/config/file
when: never
- when: on_success
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3334 次 |
最近记录: |