我在CruiseControl config.xml
文件中有此部分:
<publishers>
<onsuccess>
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/fred"/>
<execute command="hg -R hg-succeeded/${project.name} pull"/>
<execute command="hg -R hg-succeeded/${project.name} tag -l build-${label} -r tip"/>
</onsuccess>
</publishers>
我的标签看起来像build-${label}
。 ${label}
部分没有像我期望的那样被构建标签替换。我希望build.1
之类的东西可以代替${label}
出现。我该如何实现这一目标?
我的项目中配置了<labelincrementer />
标记的默认labelincrementer。
此外,CruiseControl文档非常糟糕。是否有更好的文档?
答案 0 :(得分:1)
如果您想用SVN版本号替换${label}
,可以构建标签增量插件 - 有关示例,请参阅http://www.java2s.com/Open-Source/Java-Document/Build/cruisecontrol/net/sourceforge/cruisecontrol/labelincrementers/SVNLabelIncrementer.java.htm。
它内置于一个jar中,并放在CruiseControl \ lib目录中。
在您的CC配置中,您可以通过声明:
来定义此插件<project ...>
<plugin name="labelincrementer" class="my.subclass.of.LabelIncrementer" />
<labelincrementer />
...
</project>
您可以在<labelincrementer ... />
标记内添加您喜欢的任何属性;它们将通过LabelIncrementer
方法注入到setXXX
子类的实例中。
答案 1 :(得分:0)
嗯,没有人回答这个问题,所以我会把这个答案放在这里,这样我就可以在明天某个时候选择它并失去赏金。 叹息
我的回答是使用Hudson,因为看起来CruiseControl实际上没有做任何有用的开发,并且已经转向主要处理我不感兴趣的.NET版本。虽然如果有人知道如何在CruiseControl中做到这一点我仍然都是耳朵。