如何排除构建触发器中的变更集?

How to exclude changesets in build trigger?

我在 Bamboo 中有一个构建计划(5.10.0,构建 51017),在我的构建过程结束时,我将更改推送到我的 Git 存储库(Bitbucket 服务器),并带有一条消息以下格式:<build key>: Commit performed by the build server..

我的构建计划密钥是AAB-AC,提交消息总是以构建密钥开头,例如AAB-AC7-JOB1-75 (${bamboo.buildResultKey}).

我在我存储库的高级选项排除变更集字段中尝试了许多不同的正则表达式,但是新版本是每当构建完成时总是触发。

以下是我尝试过的一些模式示例:

对于这些正则表达式中的每一个,每当我 运行 手动构建时,新构建都会在我的构建完成后立即开始,并且 Bamboo 服务器进入无限循环并无休止地构建我的应用程序。

如何让 Bamboo 忽略由我的构建计划执行的提交?

感谢您的帮助!

其中大部分应该有效,我们在 "Exclude changesets" 中使用 ^Tag:.*$ 来排除像 "Tag: v1.0.0" 这样的提交触发构建。

这在 Bamboo 4 中有效,但自从我们升级到 5.10.2 build 51019 后就无效了。所以我猜这是 Bamboo 中的一个错误

我终于成功了...

  • 我的计划有分支,我发现分支计划有自己的存储库定义和自己的 Exclude changesets 设置。
    • 所以我尝试了所有正则表达式组合,因为使用了分支计划中指定的值,而不是我在主计划中定义的值...
  • 好像是用^这个字符来否定正则表达式,而不是匹配字符串的开头...
    • 因此模式 ^AAB-AC 似乎匹配 不包含 AAB-AC 的所有内容
      • 我推送到服务器的所有不包含 AAB-AC 的提交都被忽略了
      • 我的构建计划推送的所有提交都触发了新构建

所以我修复了我的正则表达式并更新了我所有的分支计划,一切似乎都正常工作。

感谢您的帮助,

此致!