Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 在cruisecontrol中,如何在发布服务器中使用构建标签?_Mercurial_Build Process_Build Automation_Cruisecontrol - Fatal编程技术网

Mercurial 在cruisecontrol中,如何在发布服务器中使用构建标签?

Mercurial 在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"

我的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


此外,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”确实是这个标签的价值。但是你如何在出版商内部得到这个价值来替代呢?因为我没有得到一个好的答案,所以我在这个问题上设置了一个悬赏。因为我没有得到一个好的答案,所以我在这个问题上设置了一个悬赏。