小编典典

由于身份验证问题而卡在获取中

jenkins

我有一个在Windows 2012 R2 x64上运行的Jenkins(2.0 Beta-2)服务器,并配置了新版本以从TFS
GIT(2013)获取源文件。我已经安装了Microsoft提供的Windows版Git,该版本声称可以解决GIT CLI和TFS
GIT之间的身份验证问题。

我的.gitconfig看起来像这样:

[credential]
    helper = manager
    interactive = never
    validate = false
    integrated = true

Jenkins在服务帐户下运行,没有交互式会话。该服务帐户是构建服务器上本地管理组的成员,并且已正确配置为TFS上的贡献者。这里的问题是,当Jenkins构建开始时,它在以下命令中挂起:

git.exe -c core.askpass=true fetch --tags --progress http://my.tfs.server:8080/tfs/collection/_git/MyProject +refs/heads/*:refs/remotes/origin/*

在我看来,即使我已将其设置为使用git-credential-manager,它似乎仍然卡住,要求提供凭据。我也尝试过使用GCM中的“
store”命令来存储服务帐户凭据,但是它失败并出现一个奇怪的错误(使用它的语法非常混乱,因此在执行错误操作的同时可能会出错)尝试一下)。


阅读 306

收藏
2020-07-25

共1个答案

小编典典

对于我们来说,完全取消设置“ credential.helper” git config变量就是答案。从Git
2.5.0升级到2.8.4后,我们的工作挂在了完全相同的位置,并且我们的Jenkins服务作为本地系统运行,因此请执行以下操作来取消设置变量:

git config --global --unset credential.helper
git config --system --unset credential.helper

无需重新启动或卸载/重新安装。之后,从Git构建成功。

Jenkins Git Client插件似乎依赖于设置的GIT_ASKPASS变量,根据未定义凭据助手的凭据助手文档,将使用该变量。

2020-07-25