Jenkins - 使用GIT_ASKPASS设置凭据

时间:2017-03-06 13:46:23

标签: jenkins

我已经在Jenkins中为bitbucket设置了一些凭据,并仔细检查了Credentials设置(例如手动登录)但是当我在Jenkins中尝试它时,它只是旋转永远给出这个输出:

> git config remote.origin.url <bitbucket url> # timeout=10
Fetching upstream changes from <bitbucket url>
> git --version # timeout=10
using GIT_ASKPASS to set credentials <bitbucket account email> Bitbucket
> git fetch --tags --progress <bitbucket url> +refs/heads/*:refs/remotes/origin/*
> git fetch --tags --progress <bitbucket url> +refs/heads/*:refs/remotes/origin/*

请注意,公开时网址很好。但是当设置为Private时,它只是失败而没有输出。

还有更详细的调试吗?

6 个答案:

答案 0 :(得分:16)

我有一个类似的问题,Jenkins在Windows服务器上。我使用凭证管理器安装了git,每当它尝试签出私有存储库时,它都会等待我在服务器中手动输入凭据。禁用git凭据管理器为我修复了它。

我已经选择在git插件中输入凭据,因此不需要单独的凭据管理器。

答案 1 :(得分:7)

这是在MacOSX上。 我将Git路径上的Jenkins设置更改为/ usr / local / git,并使用git config取消设置credential.helper,两者都不起作用。

最后,通过在~jenkins / Library / Keychains文件夹中为jenkins创建默认的keychain文件来解决问题。这是步骤......

  • sudo su jenkins
  • mkdir~jenkins / Library / Keychains
  • cd~jenkins / Library / Keychains
  • security create-keychain -p [pwd] ./ LOGin.keychain
  • security login-keychain -d user -s ./Login.keychain
  • 检查默认钥匙串设置propersecurity default-keychain
  • git fetch --tags --progress https://github.com/....git + refs / heads / :refs / remotes / origin /

之后,github用户名/密码存储在jenkins默认密钥链中,它将用于jenkins构建。

答案 2 :(得分:3)

我在OSX上遇到了这个问题。我的问题是Jenkins使用了错误的Git可执行文件(我通过禁用结帐步骤并在其他任何内容之前添加which git来验证这一点。)

我在终端中运行which git并将路径复制粘贴到Manage Jenkins - &gt;全局工具配置 - &gt; Git - &gt; Git可执行文件的路径。之后它起作用了。

答案 3 :(得分:1)

我在Windows服务器上的Jenkins遇到了类似的问题。我使用凭据管理器安装了git,并且每当它尝试签出私有存储库时,它将等待我在服务器中手动输入凭据。禁用git凭证管理器为我修复了该问题。

实际上,现在(2021年第1季度)应该可以正常工作,而无需使用Git 2.30禁用凭据帮助程序。

git credential man'不支持core.askPass配置变量(除其他外),该变量已在Git 2.30中进行了纠正( 2021年第一季度)。

请参见commit 567ad2cThomas Koutcher (koutcher)(2020年10月15日)。
(由Junio C Hamano -- gitster --commit e0f6ad2中合并,2020年11月2日)

credential:加载默认配置

签名人:Thomas Koutcher [jk:已添加测试]
签名人:杰夫·金peff@peff.net
签名人:Junio C Hamano gitster@pobox.com

使git credential fill man遵守core.askPass变量。

答案 4 :(得分:0)

它对我有用!

  1. 转到仪表板->配置
  2. 向下滚动以查找Git插件
  • 输入全局配置user.name值:例如:jenkins
  • 输入全局配置user.email值,例如:youremail@gmail.com

答案 5 :(得分:-1)

您需要从Git生成SSH密钥并将其添加到Bitbucket