CI/CD Pipeline指定文件变更触发:多路径配置是OR还是AND逻辑?
问题解答
你给出的两个CI/CD配置中,includePaths下配置的多个路径是OR(或)逻辑,只要任意一个路径匹配到变更,就会触发对应的流水线/步骤,不需要两个路径同时有变更。
相关说明
- 包括Bitbucket Pipelines、GitLab CI、GitHub Actions在内的绝大多数主流CI/CD平台,默认将
includePaths数组内的多个路径规则设定为或关系,只要本次提交的变更命中数组内任意一个路径规则,变更集条件就判定为成立。 - 配置示例1中的
terraform/modules*会匹配terraform/modules目录、目录下所有文件,还会命中terraform/modules-test这类前缀相同的其他目录,如果只想匹配terraform/modules目录下的所有内容,更严谨的写法是terraform/modules/**。 - 如果你需要实现「两个路径同时存在变更才触发」的AND逻辑,原生
includePaths配置不支持,需要在步骤内自定义脚本判断两个路径的变更情况再执行后续逻辑。
内容的提问来源于stack exchange,提问作者x89
相关产品推荐
相关产品推荐

