Windows Mercurial глобальный брелок - PullRequest
       7

Windows Mercurial глобальный брелок

2 голосов
/ 29 сентября 2011

Я пытаюсь заставить Mercurial работать на сервере сборки Windows, и у меня возникают проблемы. У меня возникла проблема с установкой цепочки ключей Mercurial (мне пришлось установить Tortoisehg), и она работает для каждого пользователя.

Проблема в том, что я использую Bamboo для запуска сборок, и он работает как служба NT, принадлежащая SYSTEM. Таким образом, каждый раз, когда он пытается что-то сделать с hg, ему предлагается ввести пароль.

Очевидно, я мог бы поместить пароль в файл конфигурации, но я хочу, чтобы простой текстовый пароль просто не использовался.

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

  1. Сделать ртутный брелок глобальным, а не для пользователя. Это может даже не быть возможным.
  2. Каким-то образом войдите в систему как пользователь SYSTEM и выполните с ним несколько ртутных команд, чтобы его цепочка для ключей была заполнена информацией о пользователе / ​​пароле.
  3. Что-то совершенно другое ...?

Заранее благодарим вас за любые идеи, которые вы можете иметь!

-Бен

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

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

Во-первых, вы можете запустить бамбуковую службу как любой пользователь, которого вы хотите.,Мне нужно было, чтобы он работал как обычный пользователь, чтобы были доступны некоторые записи реестра, которые нужны моему компилятору.Чтобы установить пользователя для бамбукового сервиса, вам нужно отредактировать wrapper.conf (C:\Program Files\Bamboo\conf\wrapper.conf при обычной установке.) Очевидно, перед редактированием этого вам нужно будет удалить существующий сервис, если он установлен.

Самый простой способ настроить учетную запись для входа - добавить это в конец файла

wrapper.ntservice.account=domain\username
wrapper.ntservice.password=s3cr3t.p@ssw0rd

Очевидно, что вы можете не захотеть, чтобы ваш пароль для входа использовался в виде простого текстового файла.Есть несколько способов обойти это, поэтому я просто укажу вам: http://wrapper.tanukisoftware.com/doc/english/props-nt.html.wrapper.ntservice.password.prompt может представлять особый интерес.

Если вы используете ssh для Mercurial, есть еще один вариант: вы можете установить команду ssh в Mercurial.ini.Для сервера сборки я установил большинство этих команд сразу для всей системы, сконфигурировав их в файл в C: \ Program Files \ TortoiseHg \ hgrc.d.У меня есть строка, которая выглядит так:

ssh=TortoisePlink.exe -batch -i "C:/Users/autobuilder/hgPrivKey.ppk" -l autobuilder

Для меня autobuilder - это обычный пользователь, от которого все работает.HgPrivKey.ppk - это файл закрытого ключа, созданный с помощью PuttyGen.У меня есть открытый ключ в файле author_keys на сервере.

Надеемся, что эти предложения помогут кому-то пойти по правильному пути.

0 голосов
/ 30 сентября 2011

В итоге мне пришлось вернуть бамбуковый удаленный агент из службы NT обратно в обычный старый процесс, работающий под обычным пользователем. Это, очевидно, идет с собственным набором ошибок, связанных с управлением сервером, но сейчас это нужно сделать. Я отмечу это как ответ через день или около того, если кто-то не придумает что-то лучшее.

...