beQ*_*r86 5 git ssh bash jenkins git-lfs
我有一个 bash 脚本,它在 Windows 机器上运行命令(我们称之为机器 A)以在 bitbucket 上拉一个存储库(使用 git),然后运行特定程序来处理拉出的内容。
我还有一台运行 Jenkins 的 ubuntu 机器。在构建步骤中,我使用“通过 SSH 发布”插件在机器 A 上运行 bash 脚本。
一切都很好,除非 git 必须提取包含大文件的提交并且由于此错误而失败:
下载测试 x_map.fbx (31 MB) 下载对象时出错:x_map.fbx (63b3f85):涂抹错误:下载 x_map.fb x(哈希)时出错:批量请求:git@bitbucket.org:权限被拒绝(公钥)。:退出状态 255
问题是 git 的 LFS 部分不使用 SSH 密钥,即使我确实在 git config 中将 core.sshCommand 设置为对所有 ssh 命令使用密钥。
因此,当我这样做时: ssh git@bitbucket.org git-lfs-authenticate "reopsitory" downlaod 失败并显示此消息:git@bitbucket.org: Permission denied (publickey)
但是当我使用 ssh 密钥选项运行它时它工作正常:ssh -i "ssh-key-path" git@bitbucket.org git-lfs-authenticate "reopsitory" downlaod
所以我想知道是否有任何解决方案可以使所有 LFS ssh 命令过载以使用特定的 ssh 密钥,例如 git config 中的 core.sshCommand。
我几乎没有坚持这个,所以我希望你们有一个神奇的解决方案!在此先感谢您的帮助。
编辑:在 git pull 命令之前添加: eval $(ssh-agent -s) ssh-add "key-path" 使这个命令起作用: [ ssh git@bitbucket.org git-lfs-authenticate "reopsitory" downlaod ] 但是git pull 仍然失败并出现相同的错误
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |