我在我们的构建中使用 Jenkins
所以我已经在使用 GIT 插件了
这个插件让我可以指定 Jenkins 凭据,我们已经指定并安装/设置了 SSH key 。
但是在构建结束时,我想 git 标记我的仓库。我正在调用 git.exe 命令行,并且在推送时收到此错误:
Permission denied (publickey).
fatal: Could not read from remote repository.
理想情况下,我们不想使用其他插件(例如 Git Publisher),因为我们正在尝试通过自己的脚本来做更多的事情,因为将来我们很可能不会使用 Jenkins。
此外,理想情况下,如果我们不需要,我们不想在构建服务器上安装项目。
所以问题是 - 我如何在命令行上为给定的“ session ”指定 ssh key /凭据?
谢谢你。
最佳答案
把它放在一个shell脚本中:
ssh -i path-to-your-private-key
在
GIT_SSH
中设置 shell 脚本的路径对于 Jenkins 。 git pull
然后将使用它而不是普通的 ssh
访问远程存储库。或者,您可以在
$HOME/.ssh
中配置 ssh对于运行 Jenkins 的帐户,但如果您的 Jenkins 作为 Windows 服务运行,这可能会变得很棘手。
关于windows - 在 Jenkins 用户下的 Windows Git 中指定 SSH 凭据/ key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44829792/