如何在进程运行时告知CruiseControl在更新ccnet.config后使用新值?

时间:2014-03-05 19:27:17

标签: .net cruisecontrol.net cruisecontrol

当触发巡航构建时,它会调用我的构建脚本。我的构建脚本使用版本号安装内容。这个版本不是常量且非常随机,因为我在每次安装时都会提取它并需要在电子邮件主题中使用。 (决定cruise labellers不是一个好的解决方案)

我在ccnet.config <cb:define version="" />中定义了我在构建过程中使用构建脚本进行更新的地方。但是由于这个更新是在构建运行时完成的,所以cruise已经读取了配置文件并且它在构建之前获取了值。

我想在构建期间获取值。此值显示在电子邮件主题中,如:

<publishers>
    <email>
      <subjectSettings>
        <subject buildResult="Success" value="Version $(version) was installed " />
      </subjectSettings>
    </email>
</publishers>

有没有办法可以告诉Cruise在构建时准备发送电子邮件时使用新值?也许如果我弄清楚这些信息是如何存储的,我可以在构建运行时清理它,然后显示我的新值。

1 个答案:

答案 0 :(得分:0)

我没有发现在构建期间更新版本的方法,因此我拆分了curise控件消息。如果失败,则使用巡航控制触发电子邮件。如果成功,它会通过NAnt触发电子邮件。通过在Nant中成功完成部分,我能够获得触发构建的所需版本,并保留巡航属性,如${CCNetProject}, ${CCNetBuildTime}等。