在TeamCity中,是否有方法使用提交消息更改构建参数?

在TeamCity中,是否有方法使用提交消息更改构建参数?,teamcity,build-script,Teamcity,Build Script,例如,我知道,当我在提交消息中放入某些文本时,我可以使构建不触发。我想做的是使其能够基于触发构建的提交消息更改参数的值 具体来说,我有一个构建参数,脚本会查看该参数,以确定是否刷新本地数据库以进行集成测试。这用于当我们对数据库进行更改,或者集成测试是脏的,并且在测试结束后无法清理时,我们可以强制构建将数据库刷新到稳定状态 我希望能够向提交消息中添加一些特定的文本,然后可以更改该参数(或者更理想地说,由当前正在读取构建参数的脚本读取),以触发构建以刷新数据库。我使用的是Teamcity 8。添加这

例如,我知道,当我在提交消息中放入某些文本时,我可以使构建不触发。我想做的是使其能够基于触发构建的提交消息更改参数的值

具体来说,我有一个构建参数,脚本会查看该参数,以确定是否刷新本地数据库以进行集成测试。这用于当我们对数据库进行更改,或者集成测试是脏的,并且在测试结束后无法清理时,我们可以强制构建将数据库刷新到稳定状态


我希望能够向提交消息中添加一些特定的文本,然后可以更改该参数(或者更理想地说,由当前正在读取构建参数的脚本读取),以触发构建以刷新数据库。我使用的是Teamcity 8。

添加这种有条件的行为不是一个好主意。当构建开始执行不同的操作时,您可能会失去实际状态(红色/绿色),例如

  • 一个构建试图清理数据库,但没有这样做
  • 下一个版本不尝试这样做,它是绿色的
  • 数据库清理操作结果丢失,因为生成配置状态现在为绿色
相反,我建议使用单独的构建配置来设置数据库重置

在“DB reset”配置中,在“Integration test”上添加快照依赖项,并启用“在同一代理上运行构建”选项和侦听特定提交消息的VCS触发器


这样,当提交消息包含“魔法咒语”时,您将在每次集成构建之后重置DB。您将始终看到重置是否成功(或未成功)

这可能是我最终要做的,但我认为我需要一些中间步骤,因为我们将更多的测试转移到更好的单元测试,而不是数据库测试。@Nikita Skvortsov是否有一种方法将提交消息存储在变量中,以便我可以将其用于其他目的