【问题标题】:Is it possible to customize force build of CruiseControl.NET project?是否可以自定义 CruiseControl.NET 项目的强制构建?
【发布时间】:2015-02-06 14:52:32
【问题描述】:

亲爱的无所不知的 stackoverflow 忍者,我需要你的帮助!

我有一个 CruiseControl.NET 项目,它构建 C# 解决方案并执行一些脚本。每次我使用“调试”MSBuild 配置提交时,它都会构建项目。

当我进行强制构建时,我需要让 CC 使用“Debug 2”配置构建我的项目,但在 git commit 上构建时它应该继续使用“Debug”配置。

是否可以进行这样的动态配置?如果是,我应该怎么做?

【问题讨论】:

    标签: c# git msbuild continuous-integration cruisecontrol.net


    【解决方案1】:

    使用ccnet参数;

    http://cruisecontrolnet.org/projects/ccnet/wiki/Parameters

    例如:

    <booleanParameter>
     <name>Configuration</name>
     <true name="Debug2">Yes</true>
     <false name="Debug">No</false>
     <display>Configuration</display>
     <description>Do you want to build Debug 2?</description>
     <default>Debug</default>
     <required>false</required>
    </booleanParameter>
    

    使用它:

    <tasks>
     <nant>
      <executable>nant.exe</executable>
      <buildArgs>-D:config=$[Configuration|Debug]</buildArgs>
     ...
     </nant>
    </tasks>
    

    config 作为属性传递给 Nant。

    【讨论】:

      【解决方案2】:

      好的,我在 CC 文档中找到了条件。

      <conditional>
        <conditions>
          <buildCondition>
            <value>ForceBuild</value>
          </buildCondition>
        </conditions>
        <tasks>
          <!-- Tasks to perform if condition passed -->
        </tasks>
        <elseTasks>
          <!-- Tasks to perform if condition failed -->
        </elseTasks>
      </conditional>
      

      【讨论】:

        【解决方案3】:

        另一个选项是检查构建脚本中的构建条件。 构建脚本可以是 nant、msbuild、batch ...... 这些语言通常比 ccnet.config 文件本身为 if、while、... 构造提供更多选项。

        这使 ccnet.config 更加干净,所有的魔法都发生在构建脚本中。它还可以更轻松地测试更改而不影响构建服务器。

        查看传递给它们的属性:

        http://www.cruisecontrolnet.org/projects/ccnet/wiki/Integration_Properties

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多