每当我们更改Teamcity构建定义(例如使用NUnit控制台运行器的新版本)时,如果我们需要修复早期版本的代码,都会中断构建。为了解决这个问题,我想将构建定义存储在代码旁边,以使它按照生成此修补程序的时间来执行构建。
我一直在考虑将TC构建定义导出为Kotlin脚本,但是它们存在一些问题:
-
Versioned Settings
由我无权访问的更高级别的项目控制,并存储在单独的存储库中(而不是Kotlin)。 - 似乎只看您的master分支并从那里导入设置,但是我需要构建才能在执行时使用hotfix分支上的任何内容。
过去,我们已经使用Fake脚本解决了这个问题,但是经验往往不善于发现问题。
在TeamCity上执行构建以满足以下要求的最佳方法是什么?
- 输出尽可能接近正常的构建步骤
- 在执行中的分支/代码中定义的构建
- 易于维护/管理
- 测试输出应与常规TC版本中的输出相同