Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Mercurial全局密钥链 我正试图在Windows构建服务器上工作,我有问题。我不辞辛劳地安装了mercurial钥匙链(我必须安装Ortoisehg),它是基于每个用户的_Windows_Mercurial_Keychain_Bamboo - Fatal编程技术网

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将包含和报告系统。然而,这一切本应如此。