windows - 在 Jenkins 用户下的 Windows Git 中指定 SSH 凭据/ key

标签 windows git bash jenkins ssh

我在我们的构建中使用 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/

相关文章:

python - Psutil 在获取进程属性时为所有非用户拥有的进程引发 AccessDenied

c++ - 获取运行可执行文件的文件句柄

git - VS Code 阶段更改快捷方式

即使我是项目所有者,GitLab 也拒绝推送 master

bash - 在大文件中用 sed 或 awk 打印行后的时间延迟

bash - 在curl中无限期地请求数据

windows - Windows 服务中是否允许 Windows-GUI 调用(创建可见窗口等)?

git - 如何让 ECS 容器访问私有(private) git 存储库?

reactjs - 通过react-env插件为dockerize React应用程序读取docker环境变量?

windows - 在表单显示之前检测鼠标按钮是否已经按下