【发布时间】:2013-08-01 06:48:46
【问题描述】:
我有许多日常和响应 svn 更改的构建,它们都源自相同的配置模板。我可以设置它,这样我就可以选择要查看的分支、要执行的构建步骤以及触发构建的内容。
但是,我希望每日构建进行完全干净的检查,而依赖于 svn 的构建(显然会在一天中发生)我很高兴他们能够简单地进行更新。
简单地取消设置模板中的选项不会让我在每个派生版本中设置它们。是否有一个构建参数可用于为需要它的构建打开干净的构建?
【问题讨论】:
标签: teamcity
我有许多日常和响应 svn 更改的构建,它们都源自相同的配置模板。我可以设置它,这样我就可以选择要查看的分支、要执行的构建步骤以及触发构建的内容。
但是,我希望每日构建进行完全干净的检查,而依赖于 svn 的构建(显然会在一天中发生)我很高兴他们能够简单地进行更新。
简单地取消设置模板中的选项不会让我在每个派生版本中设置它们。是否有一个构建参数可用于为需要它的构建打开干净的构建?
【问题讨论】:
标签: teamcity
在每个项目的“版本控制设置”中,查看“结帐设置”。有一些选项可以指定签出目录,还有一个复选框可以在构建之前清理文件。
【讨论】:
如果需要,您可以添加一个额外的构建功能 (Swabra),它会执行干净的检查。我已为我们的夜间构建启用此功能,但尚未调查后果。
有关Swabra的更多详细信息,请参见此处
【讨论】:
在我看来,您需要一个用于每日构建的模板和一个用于夜间构建的模板。
【讨论】:
我非常不喜欢接受的答案,所以我在我的构建脚本中添加了条件焦化。
然后我可以在模板中设置默认值并在需要烧焦的模板中覆盖或在选择退出的基础上定义它。
Get-ChildItem . -Include obj,bin -Recurse -Force | Remove-Item -Recurse -Force
Remove-Item Artifacts -Recurse -Force
为什么要回答这么难看的 hack?我希望有人会提出一个真正的解决方案,然后[然后对此或最好投反对票]发表评论。
【讨论】:
有一种方法可以在模板中声明变量,并在每个构建项目中用配置参数替换它们。请参阅 [link] http://blogs.jetbrains.com/teamcity/2010/10/14/overriding-template-settings/ 的更多详细信息
【讨论】: