Pregunta

We have an existing cc configuration that was setup by someone before I got here.

We've converted our repository from cvs to mercurial stored on bitbucket.

Everything in my question below is basically just wondering, where do I point to the bitbucket repository in my setup to check for changes? And information about my specific setup.

Looking at how the cvs projects were set up, we have a config.xml and a projectbuild.xml file that contain information about the repository.

I've found the documentation for tag options for the config.xml here : http://cruisecontrol.sourceforge.net/main/configxml.html

but I'm not sure where I can actually look at the bitbucket repository to check for changes. I assume this would be in the projectbuild.xml file, but I'm not sure what the tag options would be for mercurial. I'm more than happy to be pointed toward some documentation, all I've been able to find is stuff on the config.xml.

Here is part of my config.xml and my projectbuild, or build-tnl-default.xml file as it's called for my specific case:

config.xml (Notice I don't have bootstrappers in this file, I've seen this in other examples and am not sure if this would help me.

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

Here I have no idea what options are available to me in the mercurial tag. I assume I just need to point this to the repository on bitbucket? In the previous version, it looked like this was pointing to the cvs repository here. I'm just not sure what the mercurial attributes are.

I'm sorry about my newness with this stuff, I might require a little more explanation than many other users. Any help is appreciated. Thanks

¿Fue útil?

Solución

You check for updates in your repository (regardless whereever it is hosted) via

<modificationset quietperiod="900">
  <mercurial localworkingcopy="projects/${project.name}">
</modificationset>

These tags say, that you query the repository you've checked out under projects/${project.name} and that a build is triggered if within a time frame of 15 minutes (900 seconds) no further changes occured. (I think that 15 minutes is a bit much, btw) Simply make sure that projects/${project.name} is a Mercurial project that was checked out via hg clone http://repositoryAtBitbucketAsAnExample projects/${project.name} (make sure to expand ${project.name}).

I did not fully understand what build-tnl-default.xml is supposed to do, but if it should grab the newest build.xml, you should think about doing it with an Execootstrapper running something like hg pull ${path.to}/build.xml.

I have no idea what options are available to me in the mercurial tag.

You should determine the <taskdef .../> is used that loads the mercurial tag. This should be somewhere in build-tnl-default.xml or a file that is imported by it.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top