Windows Mercurial全局密钥链 我正试图在Windows构建服务器上工作,我有问题。我不辞辛劳地安装了mercurial钥匙链(我必须安装Ortoisehg),它是基于每个用户的
问题是我正在使用竹子来运行构建,它作为Windows Mercurial全局密钥链 我正试图在Windows构建服务器上工作,我有问题。我不辞辛劳地安装了mercurial钥匙链(我必须安装Ortoisehg),它是基于每个用户的,windows,mercurial,keychain,bamboo,Windows,Mercurial,Keychain,Bamboo,问题是我正在使用竹子来运行构建,它作为系统所拥有的NT服务运行。因此,每当它尝试使用hg做任何事情时,都会提示输入密码 显然,我可以将密码放入一个配置文件中,但我想避免使用纯文本密码 据我所知,有两种方法可以解决这个问题。我都不知道怎么做: 将mercurial钥匙链设置为全局,而不是按用户设置。这甚至可能是不可能的 以某种方式以系统用户的身份登录,并使用它执行一些mercurial命令,这样它的钥匙链就会被植入用户/密码信息 完全不同的东西 提前感谢您提供的任何见解 -Ben最后,我不得不将b
系统所拥有的NT服务运行。因此,每当它尝试使用hg做任何事情时,都会提示输入密码
显然,我可以将密码放入一个配置文件中,但我想避免使用纯文本密码
据我所知,有两种方法可以解决这个问题。我都不知道怎么做:
将mercurial钥匙链设置为全局,而不是按用户设置。这甚至可能是不可能的
以某种方式以系统用户的身份登录,并使用它执行一些mercurial命令,这样它的钥匙链就会被植入用户/密码信息
完全不同的东西
提前感谢您提供的任何见解
-Ben最后,我不得不将bamboo remote agent从NT服务还原为在普通用户下运行的常规旧进程。就服务器的管理而言,这显然有它自己的一套陷阱,但现在必须这样做。除非有人想出更好的办法,否则我会在一天左右的时间内把这个问题作为答案。我知道你已经找到了解决办法,但万一未来的谷歌搜索者出现在这里,我会把我所做的发出来
首先,您可以让Bambol服务以您想要的任何用户的身份运行。我需要它以普通用户的身份运行,以便编译器需要的一些注册表项可用。要设置bamboo服务的用户,您需要编辑wrapper.conf
(C:\Program Files\bambor\conf\wrapper.conf
,在正常安装时)。显然,在编辑此服务之前,您需要卸载已安装的现有服务(如果已安装)
设置登录帐户的最简单方法是将其添加到文件底部
wrapper.ntservice.account=domain\username
wrapper.ntservice.password=s3cr3t.p@ssw0rd
显然,您可能不希望您的登录密码位于纯文本文件中。有几种方法可以解决这一问题,因此我将向您指出:wrapper.ntservice.password.prompt可能会引起特别的兴趣
如果将ssh用于Mercurial,还有另一个选项:可以在Mercurial.ini中设置ssh命令。对于构建服务器,我通过在C:\Program Files\TortoiseHg\hgrc.d文件中配置这些命令,一次为整个系统设置了大部分命令。我有一条线看起来像:
ssh=TortoisePlink.exe -batch -i "C:/Users/autobuilder/hgPrivKey.ppk" -l autobuilder
对我来说,autobuilder
是正常运行的用户。hgPrivKey.ppk是使用PuttyGen创建的私钥文件。我在服务器上的authorized_keys文件中有公钥
希望这些建议能让一些人走上正轨。很好!当我有空闲时间的时候,我将不得不重新考虑这个问题,并尝试一下。另外请注意,当作为自定义用户运行时,这个问题会被解决:代理包装器使PATH
变量不包含所需的路径,而USERNAME
var将包含和报告系统。然而,这一切本应如此。