【问题标题】:Using TeamCity build templates how can I remove "Clean all files before build" from the template?使用 TeamCity 构建模板如何从模板中删除“构建前清理所有文件”?
【发布时间】:2013-08-01 06:48:46
【问题描述】:

我有许多日常和响应 svn 更改的构建,它们都源自相同的配置模板。我可以设置它,这样我就可以选择要查看的分支、要执行的构建步骤以及触发构建的内容。

但是,我希望每日构建进行完全干净的检查,而依赖于 svn 的构建(显然会在一天中发生)我很高兴他们能够简单地进行更新。

简单地取消设置模板中的选项不会让我在每个派生版本中设置它们。是否有一个构建参数可用于为需要它的构建打开干净的构建?

【问题讨论】:

    标签: teamcity


    【解决方案1】:

    在每个项目的“版本控制设置”中,查看“结帐设置”。有一些选项可以指定签出目录,还有一个复选框可以在构建之前清理文件。

    【讨论】:

    • 它们在每个项目中都是灰色的,因为它们是在模板中设置的。我看不到如何从模板中删除它们以允许各个项目拥有自己的设置。如果我不清楚,请道歉。
    • 有一种方法可以在模板中声明变量,并在每个构建项目中用配置参数替换它们。请参阅 [link] blogs.jetbrains.com/teamcity/2010/10/14/… 的更多详细信息
    • 既然你在处理模板,你可能还想看看youtrack.jetbrains.net/issue/TW-15182
    • @savinderpuri -1 这些都不起作用 - OP 在询问一个复选框,您不能按照您说的方式参数化一个复选框
    【解决方案2】:

    如果需要,您可以添加一个额外的构建功能 (Swabra),它会执行干净的检查。我已为我们的夜间构建启用此功能,但尚未调查后果。

    有关Swabra的更多详细信息,请参见此处

    【讨论】:

    【解决方案3】:

    在我看来,您需要一个用于每日构建的模板和一个用于夜间构建的模板。

    【讨论】:

    • 复制所有其余的构建(共享)似乎有点可惜!
    【解决方案4】:

    我非常不喜欢接受的答案,所以我在我的构建脚本中添加了条件焦化。

    然后我可以在模板中设置默认值并在需要烧焦的模板中覆盖或在选择退出的基础上定义它。

    Get-ChildItem . -Include obj,bin -Recurse -Force | Remove-Item -Recurse -Force
    Remove-Item Artifacts -Recurse -Force
    

    为什么要回答这么难看的 hack?我希望有人会提出一个真正的解决方案,然后[然后对此或最好投反对票]发表评论。

    【讨论】:

      【解决方案5】:

      有一种方法可以在模板中声明变量,并在每个构建项目中用配置参数替换它们。请参阅 [link] http://blogs.jetbrains.com/teamcity/2010/10/14/overriding-template-settings/ 的更多详细信息

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-24
        • 2015-12-03
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 2013-08-31
        • 2011-06-08
        • 1970-01-01
        相关资源
        最近更新 更多