Отслеживание билда от Гудзона до Ртутного Репо - PullRequest
4 голосов
/ 18 февраля 2010

Я работаю над созданием стека Hudson / Mercurial для разработки.Один из вариантов использования, который у меня есть: «Как разработчик, я хочу обновить свою локальную песочницу до определенного номера сборки от Hudson, чтобы я мог [исправить ошибку, отладить проблемы, создать разветвленную версию кода и т. Д.]."

Итак, если я вижу сборку № 49 на Hudson, как мне обновить локальное хранилище Mercurial до того же исходного кода, который использовался для сборки # 49?

Примечание: я посмотрелна метках Mercurial, однако они не кажутся вполне уместными.Они требуют коммита, поэтому кажется, что коммиты испачкают историю (каждый коммит от разработчика будет показывать последующий коммит из операции тега).Если это лучшее, что есть, думаю, мне придется с этим смириться, но надеяться на что-то лучшее.Вероятно, все еще будет использовать теги для релизов.

Ответы [ 2 ]

4 голосов
/ 18 февраля 2010

Хорошо, вот решение, которое я выбрал:

Используя плагин Description Setter, я установил описание успешной и неудачной сборки на "Mercurial $ {MERCURIAL_REVISION}". Оказывается, текущий плагин Mercurial SCM устанавливает эту переменную среды в ID родительского набора изменений.

Затем я могу посмотреть на сборку на Hudson и, если нужно, взять идентификатор набора изменений и выполнить «hg update» в моем локальном репо, чтобы получить эту версию кода.

Обратите внимание, что в трекере проблем с плагином Mercurial есть разговоры об изменении этого значения на HG_REVISION и добавлении других переменных среды, так что это может сломаться в какой-то момент в будущем, но пока работает для меня.

1 голос
/ 18 февраля 2010

Вы можете использовать расширение ключевых слов в системе hudson, чтобы обновить nodeid в некотором аспекте сборки, возможно, включая имена артефактов. Если выходные артефакты задания Hudson похожи на: myproject-2010-02-17-2dbf7575fa46.tar.gz, вы наверняка знаете, как «обновить hg» до этого момента.

Расширение ключевых слов и, возможно, небольшой муравейник делают это легко.

...