如何从Phabricator扩散中检出Jenkins中的源代码?

时间:2017-05-15 09:33:30

标签: svn jenkins phabricator

我做过Phabricator设置,svn + ssh效果很好。 当我填写Jenkins的链接时,它会显示无法访问存储库

enter image description here

检查Jenkins日志后,我得到以下内容。

  

2017年5月15日下午4:35:40严重   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)
  ...

我可以通过togise SVN中Phabricator生成的ssh公钥(.key)签出代码,但它无法在Jenkins中运行

愿任何人帮我解决错误吗?

2 个答案:

答案 0 :(得分:0)

我在Jenkins(不是Phabricator特有的)提取SSH时遇到的主要问题是,在通过SSH进行身份验证之前,主机密钥需要位于jenkins用户的known_hosts中。 / p>

自从我遇到它以来已经有一段时间了,所以我不知道这些消息是否是这个问题的标志,但我确实记得这是一般认证错误,因此很难追查到实际情况问题的原因。

答案 1 :(得分:0)

经过几天的尝试,我找到了一种从Phabricator结账的简单方法

  1. 从服务器(而不是Phabricator)创建vcsuser私钥
  2. 在/ source
  3. 创建一个文件夹
  4. 在/来源中创建一个软链接,例如sudo ln -s /var/repo/9 repo_name
  5. 从您的私钥
  6. 向Jenkins添加凭据

    现在我可以从链接中查看源代码:

    svn+ssh://vcsuser@192.168.1.185/source/repo_name/branches/$branch_name