3

自上次更新 jenkins 和 git 插件以来,通过 .netrc 的 http auth 不再起作用。我真的检查了很多关于这个问题的线程。

我也尝试使用变体http://user:pass@url.tld/repo.git。但在内部,我们提供了一个虚拟机,其中包含开发所需的所有工作。在更新之前,我们刚刚编辑了 jenkins 主文件夹中的 .netrc 文件,jenkins 运行良好。

我也已经通过控制台 git clone http://url.tld/repo.git进行了尝试,即使在 jenkins 用户上也可以正常工作。

以下是一些细节:

  • 詹金斯:v1.536
  • GIT 插件:v2.0
  • GIT客户端插件:v1.4.5
  • git:1.8.4.git
  • 百分号:6.4
  • 爪哇:1.6.0

.netrc

machine url
        login user
        password pass

这里配置掩码中jenkins的错误:无法连接到存储库:无法连接到http:// ....git(状态= 401)

如果有人有想法就好了。

4

5 回答 5

3

使用 Git 客户端插件 1.4.5,您需要为 .netrc 文件使用不同的格式。Git 客户端插件需要 .netrc 文件中的主机信息全部在一行中。所以改变这个

machine hostname
    login user
    password secret

对此

machine hostname login user password secret

应该让它再次工作。

当然不是插件方面的最佳实现,但不幸的是目前情况如此。请注意,该行中的单词之间只能有一个空格。也避免尾随空格。

除此之外,由于存在错误,无论主机名是否匹配,都将采用文件中的第一行。因此,如果您需要在 .netrc 文件中有多个主机,那将无法正常工作。或者更确切地说,仅列出第一个。没有已知的解决方法。

请注意,如果您_netrc在 windows 下使用文件,很可能找不到它,因为 git 客户端插件(版本 1.4.6)不会在 Jenkins 用户的主目录中搜索它。一种解决方法是.netrc在 Windows 下也有一个文件。

于 2013-11-20T19:01:18.833 回答
2

此问题最初是在 Git 客户端插件 1.4.3 中检测到的,并且应该由Nicolas De Loof在 1.4.4 中修复:
参见issue 20175

尝试将 git 客户端插件降级到 1.4.4。
如果 1.4.5 引入了回归,则重新打开问题 20175。

Florian回答(赞成)建议 git 客户端插件到 1.4.5 的可能原因,关于.netrc格式。

machine hostname login user password secret

(仅一行,而不是几行)

Florian在评论中坚持认为存在一些错误:

  • 如果您在.netrc文件中定义了多个主机,则将采用第一个主机,无论它是否正确。
  • 此外,在 Windows 下,_netrc很可能找不到文件,因为它没有在 Jenkins 用户的主目录中搜索。git 客户端插件(现在,2013 年 11 月)不会读取
    它(一个文件)来检索凭据。无论是 Windows 还是 Unix, 它都可以正常工作,但不能正常工作。 所以我建议在 Windows 下的主目录中有一个相同的文件,除了, 直到这个错误 ( JENKINS-20688 ) 被修复。_netrc
    .netrc_netrc
    .netrc_netrc

他提到了 GitHub 上的jenkinsci/git-client-plugin 补丁

于 2013-10-26T11:42:08.363 回答
1

在这里为所有其他人添加:

降级文件的下载链接:

Git 客户端插件 1.0.7: http: //mirrors.jenkins-ci.org/plugins/git-client/1.0.7/git-client.hpi

Git 插件 1.4.0: http: //mirrors.jenkins-ci.org/plugins/git/1.4.0/git.hpi

于 2013-10-26T15:16:08.067 回答
0

我不得不将 Git 客户端插件降级到 1.3.0 版本才能让它再次工作。

这是下载链接: http: //mirrors.jenkins-ci.org/plugins/git-client/1.3.0/git-client.hpi

于 2013-11-06T13:28:06.707 回答
0

FWIW,对我来说,问题 21015中提到了解决方法

于 2013-12-17T12:00:12.517 回答