我使用 Cloud Build 作为 CI/CD 解决方案。我的分支策略遵循以下模式:dev,stage和prod分支反映的正是我在我的每一个环境。任何其他分支都只是用于开发的常规分支。
通过遵循这种模式,我需要在除主要分支之外的任何分支中构建/测试,并且仅在推送位于 dev/stage/prod 时进行部署。
由于 Cloud Build 不支持在单个 YAML 文件中表达这一点,因此我有两个:build.yaml和deploy.yaml.
然后我创建了两个构建触发器,如下所示:
第一个工作正常,deploy.yaml如果有任何内容被推送到dev/stage/prod. 但是第二个,虽然它接受 RegExp 并评估分支的预览(注意你没有看到主分支):
当构建被触发时(是的,它是自动触发的!),它失败了:
一些谷歌搜索告诉我 Go-lang(据说是在这里评估这个 regexp 的后端)不支持 RegExp 中的 Lookahead。
我怎么解决这个问题?