【问题标题】:Converting CruiseControl from CVS to Mercurial将 CruiseControl 从 CVS 转换为 Mercurial
【发布时间】:2012-04-27 18:41:41
【问题描述】:

我们有一个现有的 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 和我的项目构建的一部分,或者build-tnl-default.xml 文件,因为它是针对我的具体情况而调用的:

config.xml(请注意,我在此文件中没有引导程序,我在其他示例中看到过,但不确定这是否对我有帮助。

<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 上的存储库?在以前的版本中,看起来 this 指向的是此处的 cvs 存储库。我只是不确定 mercurial 属性是什么。

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

【问题讨论】:

    标签: mercurial cruisecontrol


    【解决方案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,你应该考虑使用运行类似 hg pull ${path.to}/build.xmlExecootstrapper 来做。

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

    您应该确定使用了 &lt;taskdef .../&gt; 来加载 mercurial 标记。这应该在build-tnl-default.xml 中的某个地方或由它导入的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多