【问题标题】:How to checkout the source code in Jenkins from Phabricator diffusion?如何从 Phabricator 扩散中签出 Jenkins 中的源代码?
【发布时间】:2017-05-15 09:33:29
【问题描述】:

我已经完成了 Phabricator 设置,并且 svn+ssh 运行良好。 当我填写 Jenkins 的链接时,它显示 无法访问存储库

检查 Jenkins 日志后,我收到以下消息。

2017 年 5 月 15 日下午 4:35:40 严重 hudson.scm.SubversionSCM$ModuleLocation$DescriptorImpl checkCredentialsId svn: E200015: 认证取消

我尝试构建项目并收到以下消息。

尝试使用用户名 dailybuild 进行公钥身份验证 验证失败:svn:E170001:SSH 服务器拒绝凭据。 失败: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 的身份验证失败 在 org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVNErrorManager.java:53)
...

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

谁能帮我解决这个错误?

【问题讨论】:

    标签: svn jenkins phabricator


    【解决方案1】:

    我在 Jenkins 中使用 SSH 获取(不是特定于 Phabricator)遇到的主要问题是主机密钥需要在 jenkins 用户的 known_hosts 中,然后通过 SSH 的身份验证才能起作用。

    我已经有一段时间没有遇到它了,所以我不知道这些消息是否表明该问题,但我记得这是一个一般的身份验证错误,因此很难追查问题的实际原因。

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多