我有一台运行在Windows 2012 R2 x64上的Jenkins(2.0 Beta-2)服务器,新的版本配置为从TFS GIT(2013)获取源文件.我已经安装了Microsoft提供的Git for Windows版本 - 声称可以解决GIT CLI和TFS GIT之间的身份验证问题.
我的.gitconfig看起来像这样:
[credential]
helper = manager
interactive = never
validate = false
integrated = true
Run Code Online (Sandbox Code Playgroud)
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/*
Run Code Online (Sandbox Code Playgroud)
对我而言,似乎很明显它被卡住了,要求提供凭据,即使我已将其设置为使用git-credential-manager.我还尝试使用GCM中的"store"命令存储服务帐户凭据,但它失败并出现一个奇怪的错误(使用它的语法非常混乱,所以我可能做错了什么时候尝试它).
Nic*_*nes 44
对我们来说,完全取消设置"credential.helper"git config变量就是答案.从Git 2.5.0升级到2.8.4后,我们的工作挂在完全相同的位置,我们的Jenkins服务作为本地系统运行,因此执行以下操作取消设置变量:
git config --global --unset credential.helper
git config --system --unset credential.helper
Run Code Online (Sandbox Code Playgroud)
无需重启或卸载/重新安装.之后,Git的构建成功了.
Jenkins Git客户端插件似乎依赖于设置的GIT_ASKPASS变量,根据凭证帮助程序文档,在没有定义凭证帮助程序时使用该变量.
归档时间: |
|
查看次数: |
16813 次 |
最近记录: |