在我的公司,我们一直在使用 Jenkins Git 插件 (2.4.2) 和 Git LFS (1.1.2) 针对我们的内部 GitHub Enterprise 实例设置 Jenkins CI 系统。尽管在 Jenkins 中存储了有效凭据,并且还使用全局配置的凭据存储在 Mac 从站上,但签出存储库总是以失败告终:
Caused by: hudson.plugins.git.GitException: Command "git checkout -f ___my_commit_hash___ returned status code 128:
stdout:
stderr: Downloading ___my_lfs_file___ (754 B)
Error accessing media: ___my_lfs_file___ (___my_lfs_file_hash___)
Errors logged to .git\lfs\objects\logs\___my_lfs_log___.log
Use `git lfs logs last` to view the log.
error: external filter git-lfs smudge %f failed 2
error: external filter git-lfs smudge %f failed
fatal: ___my_lfs_file___: smudge filter lfs failed
并且 git 日志显示:
Git credentials for https://git.mycompany.com/myrepository.git not found.
或者:
Bad Credentials
当我登录从机并直接运行命令时,一切正常;只有 Jenkins 从属进程会触发错误。这似乎也只会影响我们的 Mac 从站,Windows 从站使用存储的凭据并正确运行 Git LFS。如何配置 Git 插件以在 Mac 从属设备上正确运行 Git LFS?