jlp*_*lpp 15 git ssh tomcat windows-services hudson
我有一个运行在Tomcat Windows服务上的git插件的Hudson(持续集成系统).msysgit已安装且msysgit bin目录位于路径中.安装了PuTTY/Pageant/plink,msysgit配置为使用它们.
当我运行尝试克隆git存储库的作业时,我收到以下错误:
$ git clone -o origin git@hostname:project.git "e:\HUDSON_HOME\jobs\Project Trunk\workspace"
ERROR: Error cloning remote repo 'origin' : Could not clone git@hostname:project.git
ERROR: Cause: Error performing git clone -o origin git@hostname:project.git e:\HUDSON_HOME\jobs\Project Trunk\workspace
Trying next repository
ERROR: Could not clone from a repository
FATAL: Could not clone
hudson.plugins.git.GitException: Could not clone
Run Code Online (Sandbox Code Playgroud)
这让我相信问题是拥有Tomcat/Hudson Windows服务(本地系统)的用户没有设置SSH密钥来克隆git存储库.
我的问题是,如何设置,以便git plugin/msysgit在尝试克隆时知道使用特定的SSH密钥?我不认为Pageant会工作,因为Tomcat服务作为"本地系统"用户运行,但我可能错了.我尝试将Pageant设置为服务(使用runassvc.exe),传递相应的密钥,并将其作为"本地系统"运行.Tomcat/Hudson服务似乎无法从分页服务中看到密钥.是否有其他设置密钥的技巧?
谢谢.
编辑:关于http://n4.nabble.com/Hudson-with-git-and-ssh-td375633.html的讨论表明其他人有类似的问题.建议使用ssh-agent,这个工具确实带有msysgit,但我不确定如何将它与Hudson服务结合使用.如果有人能填补空白,仍然是一个很好的线索.感谢Peter对该链接的评论.
此外,关于http://n4.nabble.com/questions-about-git-and-github-plug-ins-td383420.html的讨论始于同一个问题.我正试图复活那个帖子.
我们使用Hudson,使用ssh密钥从git中检出源代码.但是,我们实际上在一个ubuntu服务器上有Hudson.哈德森的密钥对生活在~hudson/id_rsa和~hudson/id_rsa.pub
因此,调整我们对Windows设置的建议:
我们团队中基于Windows的开发人员使用MSysGit并定期通过git over ssh检查代码 - 但不使用Putty/Pageant.由于登录时出现一些协议错误,我们发现Pageant很痛苦.相反,他们将git配置为使用openSSH(它是安装期间的选项之一).他们的公共/私有密钥对,然后住在~username/id_rsa和~username/id_rsa.pub它所有的作品.
因此,我建议您更改您的git配置以使用OpenSSH而不是选美.如果不出意外,你不必担心开始选美.
您可以使用PuttyGen生成密钥.但是,如果您使用OpenSSH而不是选美,则需要导出合适的私钥(从PuttyGen顶部的菜单之一)并将其另存为id_rsa,并从PuttyGen的GUI复制并粘贴公钥(它显示但不会为OpenSSH保存合适的版本并保存为id_rsa.pub.这是因为Putty使用的格式与OpenSSH的格式略有不同.
或者,当然,您可以随时在ubuntu服务器(实际服务器或通过VirtualBox)上托管您的哈德森服务器
| 归档时间: |
|
| 查看次数: |
20028 次 |
| 最近记录: |