Обновление hg репозитория из Jenkins

Написано 20 Август, 2013 в категории CentOS,Linux

Я новичок в CI но мне кажется, что задача обновления исходников перед сборкой является очень распространенной. Все манипуляции проводились на CentOS 6.

В моем случае требовалось обновить проект из удаленного mercurial-репозитория. В консоли это делается просто

hg pull -u

, будет запущен интерактивный режим и mercurial запросит у вас логин и пароль. Для jenkins интерактивный режим не подходит, т.е. логин и пароль mercurial должен получить из параметров вызова команды hg pull. Делается это так:

hg pull -u --config auth.username=alexey --config auth.password=kodfemnsi03


Для файлов локального репозитория необходимо установить пользователя и группу jenkins. Иначе вы получите ошибку примерно такого содержания:
Not trusting file /dev/.hg/hgrc from untrusted user root, group dev

Мне это показалось довольно странным, т.к. в в глобальных настройках mercurial все пользователи объявляются "доверенными". Выполнил в jenkins-задаче команду

hg showconfig --debug

и оказалось что глобальные настройки mercurial в jenkins не используются. Это пока не совсем понятное для меня поведение со стороны jenkins и mercurial.