Преобразование CruiseControl из CVS в Mercurial - PullRequest
0 голосов
/ 30 марта 2012

У нас есть существующая конфигурация cc, которая была кем-то настроена до того, как я сюда попал.

Мы преобразовали наш репозиторий из cvs в mercurial, хранящийся в bitbucket.

Все, что в моем вопросе ниже, в основном просто интересно, где я могу указать на репозиторий 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? В предыдущей версии выглядело, как будто это указывает на репозиторий cvs здесь. Я просто не уверен, что такое ртутные атрибуты.

Я сожалею о своей новизне с этим материалом, мне может потребоваться немного больше объяснений, чем многим другим пользователям. Любая помощь приветствуется. Спасибо

1 Ответ

1 голос
/ 27 апреля 2012

Вы проверяете наличие обновлений в своем хранилище (независимо от того, где бы он ни находился) через

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

Эти теги говорят, что вы запрашиваете хранилище, которое вы извлекли в projects / $ {project.name} и что сборка запускается, если в течение 15 минут ( 900 секунд) дальнейшие изменения не произошли.(Я думаю, что 15 минут - это много, кстати) Просто убедитесь, что projects / $ {project.name} - это проект Mercurial, который был извлечен через hg clone http://repositoryAtBitbucketAsAnExample projects/${project.name} (обязательно расширьте $ {имя_проекта}).

Я не до конца понял, что должен делать build-tnl-default.xml, но если он должен получить самый новый build.xml, вам следует подумать о том, чтобы сделать это с Execootstrapper работает что-то вроде hg pull ${path.to}/build.xml.

Я понятия не имею, какие опции доступны для меня в теге mercurial.

Вы должны определить, что <taskdef .../> isиспользуется, который загружает ртутный тег.Это должно быть где-то в build-tnl-default.xml или файле, который импортируется им.

...