对不起,我的英语很烂…
我有这个简单的管道来用rules
测试workflow
关键字:
image: docker:rc-dind
stages:
- build-socle
workflow:
rules:
- changes:
- "!/README.md"
when: always
build-socle:
stage: build-socle
script:
- echo "Lancement de la construction de l'image socle"
我所理解的是,管道应该启动任何修改的文件,除了README.md
我尝试在项目中更改文件' myscript.sh',但管道没有启动…
有什么建议吗?
- changes:
- "!/README.md"
不幸的是,!
glob元字符在Ruby的fnmatch
中不受支持,因此它不支持与rules:changes:
一起使用。正如文档中提到的,你只能使用Ruby的fnmatch支持的语法。
但是,您可以在不使用元字符的情况下制定等效的否定:
rules:
changes:
- '**/{[^R]*,R,R[^E]*,RE,RE[^A]*,REA,REA[^D]*,READ,READ[^M]*,READM,READM[^E]*,README,README[^.]*,README.,README.[^m]*,README.m,README.m[^d]*,README.md?*}'
这应该像预期的那样工作(需要注意的是,其他目录中名为README.md
的文件也将被忽略)。