Как вы указываете информацию для аутентификации для Mercurial как части Jenkins? (mercurial_keyring)

У меня есть код в репозитории Mercurial (защищенный самозаверяющим сертификатом), и я пытаюсь настроить Jenkins для работы с ним.

У меня установлен плагин Mercurial в Jenkins (указывающий на установку TortoiseHg на сервере / подчиненных серверах Jenkins), и задание Jenkins правильно настроено для получения исходного кода из репозитория.

Когда я собираю вручную (т. Е. Через веб-интерфейс), все работает, как ожидалось.

Однако похоже, что опрос репозитория не удался, так как я получаю результат, подобный следующему:

Started on Apr 27, 2012 1:07:41 PM
[<jobname>] $ hg pull --rev default
warning: <MercurialServerIP> certificate with fingerprint e3:5f:5e:ea:4f:da:ef:a4:0b:4a:bb:00:e8:31:59:de:ce:d0:28:94 not verified (check hostfingerprints or web.cacerts config setting)
abort: mercurial_keyring: http authorization required but program used in non-interactive mode
[<jobname>] $ hg log --style <workspace>\<jobname>\tmp688470509422797505style --branch default --no-merges --prune 65d180b20a1e625841c8385709c86b83c3e10421
Done. Took 1.9 sec
No changes

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

Как я могу настроить Jenkins или машину, на которой выполняется сборка, для успешного выполнения опроса?


person Peter Bernier    schedule 27.04.2012    source источник


Ответы (2)


Возможно, это не лучший способ решения проблемы, но у меня он сработал, и я могу двигаться дальше.

Единственный способ выяснить, как заставить сервер запомнить пароль в моей настройке, - это указать его вручную в \ mercurial.ini.

ПРИМЕЧАНИЕ. Возможно, вам также придется удалить строку mercurial_keyring из mercurial.ini. (Это отключает расширение связки ключей, поскольку мы указываем все вручную.)

Раньше я полагал, что клонирование репозитория один раз на сервере позволит ему запомнить пароль, но, похоже, это не работает с функцией опроса в Jenkins (хотя это действительно работало с моими фактическими сценариями сборки, когда они выполнялись на сервере. ).

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

person Peter Bernier    schedule 27.04.2012

Используя «расширение kilnauth», вы можете хранить свои учетные данные на вашем компьютере. Таким образом, вам не нужно настраивать на Jenkins ничего особенного.

$ hg help kilnauth
kilnauth extension - stores authentication cookies for HTTP
repositories. This extension knows how to capture Kiln
authentication tokens when pushing over HTTP.
This means you only need to enter your login and password once;
after that, the FogBugz token will be stored in your home
directory, allowing pushing without a password.

Инструкции по его установке приведены ниже: http://kiln.stackexchange.com/questions/341/how-can-i-install-kilns-mercurial-extensions-manually

person odedfos    schedule 08.11.2012