Mercurial 在cruisecontrol中,如何在发布服务器中使用构建标签?
我的CruiseControlMercurial 在cruisecontrol中,如何在发布服务器中使用构建标签?,mercurial,build-process,build-automation,cruisecontrol,Mercurial,Build Process,Build Automation,Cruisecontrol,我的CruiseControlconfig.xml文件中有这个部分: <publishers> <onsuccess> <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/fred"/> <execute command="hg -R hg-succeeded/${project.name} pull"
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
此外,CruiseControl文档非常糟糕。有更好的文档吗?如果您想用SVN修订号之类的东西来替换
${label}
,您可以构建一个label incrementer插件-请参阅示例
它内置在一个jar中,并放在CruiseControl\lib目录中
在CC配置中,您可以通过声明以下内容来定义此插件:
<project ...>
<plugin name="labelincrementer" class="my.subclass.of.LabelIncrementer" />
<labelincrementer />
...
</project>
...
您可以在
标记中添加您喜欢的任何属性;它们将通过setXXX
方法注入到LabelIncrementer
子类的实例中。如果您想用类似SVN修订号的东西替换${label}
,您可以构建一个label incrementer插件-请参见示例
它内置在一个jar中,并放在CruiseControl\lib目录中
在CC配置中,您可以通过声明以下内容来定义此插件:
<project ...>
<plugin name="labelincrementer" class="my.subclass.of.LabelIncrementer" />
<labelincrementer />
...
</project>
...
您可以在
标记中添加您喜欢的任何属性;它们将通过setXXX
方法被注入到您的LabelIncrementer
子类的实例中。好吧,没有人回答过这个问题,所以我将把这个答案放在这里,这样我可以在明天某个时候选择它并失去赏金。叹息
我的答案是使用,因为看起来CruiseControl在做任何有用的开发方面都已经落后了,并且已经转而主要从事我不感兴趣的.NET版本的工作。不过,如果有人知道如何在CruiseControl中实现这一点,我仍然会全神贯注。好吧,没有人回答这个问题,所以我将把这个答案放在这里,这样我可以在明天某个时候选择它,并失去赏金。叹息
我的答案是使用,因为看起来CruiseControl在做任何有用的开发方面都已经落后了,并且已经转而主要从事我不感兴趣的.NET版本的工作。不过,如果有人知道如何在CruiseControl中做到这一点,我还是会洗耳恭听。嗯,这几乎就是我想要的。我真正想要的是一个包含CruiseControl构建编号的标签,我相信它已经维护了这个编号。唉,我懂Java,但我鄙视它。而且CruiseControl似乎也非常以SVN为中心。真让人恼火。但这是唯一能满足我需求的工具-(看起来我可能需要深入研究默认标签递增器的代码,并找出它设置的标签。默认标签递增器总是存在的。@Matt Gumbley-这是真的,我正在使用它。但是它设置了什么属性?还没有尝试过,但我想它将使用默认标签“build.1”-1随版本号递增。我想你可以用-基本上,任何文本,后跟.,然后是一些整数来覆盖它。[从源代码看;我还没有检查文档,我怀疑它们可能没有帮助:-(]@Matt Gumbley-“build.1”确实是标签的价值。但是你如何在发布者内部获得替代价值呢?这几乎就是我想要的。我真正想要的是一个包含CruiseControl内部版本号的标签,我相信它已经维护了。唉,我知道Java,但我鄙视它。CruiseControl看起来也非常以SVN为中心。它真的是令人恼火。但这是唯一能满足我需求的工具-(看起来我可能需要深入研究默认标签递增器的代码,并找出它设置的标签。默认标签递增器总是存在的。@Matt Gumbley-这是真的,我正在使用它。但是它设置了什么属性?还没有尝试过,但我想它将使用默认标签“build.1”-1随版本号递增。我想你可以用-基本上,任何文本,后跟.,然后是一些整数来覆盖它。[从源代码看;我还没有检查文档,我怀疑它们可能没有帮助:-(]@Matt Gumbley-“build.1”确实是这个标签的价值。但是你如何在出版商内部得到这个价值来替代呢?因为我没有得到一个好的答案,所以我在这个问题上设置了一个悬赏。因为我没有得到一个好的答案,所以我在这个问题上设置了一个悬赏。