将CruiseControl从CVS转换为Mercurial

时间:2012-03-30 17:38:03

标签: mercurial cruisecontrol

我有一个现有的cc配置,是在我到达这里之前由某人设置的。

我们已将存储库从cvs转换为存储在bitbucket上的mercurial。

下面我问题中的所有内容基本上只是想知道,我在哪里指向我的设置中的bitbucket存储库来检查更改?以及有关我的具体设置的信息。

看看如何设置cvs项目,我们有一个config.xml和一个projectbuild.xml文件,其中包含有关存储库的信息。

我在这里找到了config.xml的标记选项文档: http://cruisecontrol.sourceforge.net/main/configxml.html

但我不确定在哪里可以实际查看bitbucket存储库以检查更改。我假设这将在projectbuild.xml文件中,但我不确定标签选项对于mercurial是什么。我很高兴被指向一些文档,我能找到的就是config.xml上的内容。

以下是我的config.xml和我的projectbuild或build-tnl-default.xml文件的一部分,因为它是针对我的特定情况调用的:

config.xml(注意我在这个文件中没有bootstrappers,我在其他例子中看过这个,我不确定这是否对我有用。

<modificationset quietperiod="900">
<mercurial localworkingcopy="projects/${project.name}">
</modificationset>
<schedule interval="100">
    <ant anthome="C:\usr\local\apache-ant"
  antworkingdir="projects/${project.name}"
          buildfile="build-tnl-default.xml"
  uselogger="true"
          usedebug="false"
  propertyfile="C:\usr\local\ia\build.properties"/>
</schedule>

build-tnl-default.xml

<project name="build-tnl-default"
        default="build">
    <target name="build">
        <!-- Get the latest from mercurial -->
        <mercurial>
        <!-- Call the target that does everything -->
        <ant antfile="build.xml" dir="tnl" target="all"/>
    </target>
</project>

在这里,我不知道mercurial标签中有哪些选项可用。我想我只需要将它指向bitbucket上的存储库?在之前的版本中,它看起来像这里指向cvs存储库。我只是不确定这些属性是什么。

对于我对这些东西的新见感到抱歉,我可能需要比其他许多用户更多的解释。任何帮助表示赞赏。感谢

1 个答案:

答案 0 :(得分:1)

您可以通过

检查存储库中的更新(无论是否托管)
<modificationset quietperiod="900">
  <mercurial localworkingcopy="projects/${project.name}">
</modificationset>

这些标签表示,您查询已在 projects / $ {project.name} 下检出的存储库,并且如果在15分钟的时间范围内触发了构建( > 900 秒)没有发生进一步的变化。 (我认为15分钟有点多,顺便说一句) 只需确保 projects / $ {project.name} 是通过hg clone http://repositoryAtBitbucketAsAnExample projects/${project.name}检出的Mercurial项目(确保展开$ {project.name})。

我并不完全理解build-tnl-default.xml应该做什么,但是如果它应该抓住最新的build.xml,你应该考虑使用Execootstrapper运行hg pull ${path.to}/build.xml这样的事情。 1}}。

  

我不知道在mercurial标签中我可以使用哪些选项。

您应该确定用于加载mercurial标记的<taskdef .../>。这应该在build-tnl-default.xml中的某个位置或由其导入的文件中。