我做了Phabricator设置,svn ssh效果很好 . 当我填写Jenkins的链接时,它会显示 Unable to access to repository .
检查Jenkins日志后,我得到以下内容 .
2017年5月15日下午4:35:40 SEVERE hudson.scm.SubversionSCM $ ModuleLocation $ DescriptorImpl checkCredentialsId svn:E200015:验证取消
我尝试构建项目并获得以下消息 .
使用用户名dailybuild尝试公钥身份验证无法进行身份验证:svn:E170001:SSH服务器拒绝的凭据 . FAILED:svn:E170001:svn ssh验证失败://vcsuser@192.168.1.185:2222 / source / xxxx org.tmatesoft.svn.core.SVNAuthenticationException:svn:E170001:svn ssh://vcsuser@192.168验证失败.1.185:2222 / source / xxxx at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:53)...
我可以通过在龟甲SVN中使用Phabricator生成的ssh公钥(.key)来检出代码,但它在Jenkins中无效
愿任何人帮我解决错误吗?
2 回答
经过几天的尝试,我找到了一种从Phabricator结帐的简单方法
从服务器(而不是Phabricator)创建vcsuser私钥
在/ source创建一个文件夹
在/ source中创建一个软链接,例如
sudo ln -s /var/repo/9 repo_name
从您的私钥向Jenkins添加凭据
现在我可以从链接中查看源代码:
svn+ssh://vcsuser@192.168.1.185/source/repo_name/branches/$branch_name
我在Jenkins(不是特定于Phabricator)中使用SSH获取的主要问题是,在通过SSH进行身份验证之前,主机密钥需要位于jenkins用户的known_hosts中 .
我遇到它已经有一段时间了,所以我不知道这些消息是否是这个问题的标志,但我确实记得这是一般认证错误,因此难以追查问题的实际原因 .