参数将 CruiseControl.net 解析为 NANT

Posted

技术标签:

【中文标题】参数将 CruiseControl.net 解析为 NANT【英文标题】:Argument parse CruiseControl.net to NANT 【发布时间】:2012-10-16 12:56:10 【问题描述】:

谁能帮我举个例子,将 CruiseControl.net ccnet.config 文件中的参数(例如:URL)传递给 NANT name.build 文件?

以下是我尝试过的(但没有成功)

            **CC.net file** 

            <tasks>
                <nant>
                    <executable>C:\Program Files (x86)\NANT\nant-0.92\bin\nant</executable>
                    <buildFile>C:\Program Files (x86)\NANT\nant-0.92\RiDM.Build</buildFile>

                    <targetList>
                        <target>build</target>
                    </targetList>
                    <buildArgs>-D:myProp=C:\build</buildArgs>

                </nant>
            </tasks>

            **.build file**

            <?xml version="1.0"?>
                <project name="Parameter test File" >
                    <description>Test parameter passing among Cruise control and NANt files.enter code here    </description>


                    <echo message="This is echo" />

                    <if test="$property::exists('myProp')" />
                                            <echo message="URL: $myProp" />
                    <echo message="This is also echo" />

                </project>

【问题讨论】:

【参考方案1】:

你看过CCNet网站场景中的例子吗? http://www.cruisecontrolnet.org/projects/ccnet/wiki/Step_2_Build_on_Check-in 底部是通过示例使用的 NAnt 构建脚本。

【讨论】:

【参考方案2】:

您的 nant 构建文件缺少目标。

像 echo 这样的函数调用必须在一个目标内,然后在巡航控制的 buildArgs 中指定目标。

见http://nant.sourceforge.net/release/0.91/help/fundamentals/buildfiles.html

修改后的 nAnt 脚本

<project name="Parameter test File" >
  <description>Test parameter passing among Cruise control and NANt files.enter code here</description>
  <target name="build">
    <echo message="This is echo" />
    <if test="$property::exists('myProp')">
      <echo message="URL: $myProp" />
      <echo message="This is also echo" />
    </if>
  </target>
</project>

nNant 将执行 ccnet.config 中 targetList 元素中提及的目标,在您的情况下为 build

【讨论】:

你说的“还在黑暗中”是什么意思?西蒙的回答应该可以解决你的问题

以上是关于参数将 CruiseControl.net 解析为 NANT的主要内容,如果未能解决你的问题,请参考以下文章

使用 CruiseControl.NET 和 MSBuild 发布网站

FXcop 和 Msbuild 与 CruiseControl.NET

CruiseControl [.Net] 与 TeamCity 的持续集成?

Cruisecontrol.net exec 中的 Fitnesse:测试失败时不要使构建失败

CruiseControl.NET开篇

CruiseControl.Net Build Publisher - 只发布编译文件