我正在尝试设置一个 Debian 服务器,使用 Apache2 作为运行 Jenkins 的 Tomcat 7 的前端 - 这正在工作 - 但我希望 Jenkins 监视托管在 bitbucket 上的私有(private) Mercurial 存储库,并且我想使用 SSH 。 (我尝试过使用普通的 https,但仍然不高兴 - 这里有一个问题答案,建议使用 ssh)
我通过将 Jenkins .WAR 文件放入/webapps 中,使用 Tomcat 的热部署功能部署了 Jenkins。我可以在服务器上生成公钥/私钥对,并将我的公钥添加到 bitbucket 帐户 - 但是如何让 Jenkins 在访问 bitbucket 上的私有(private)存储库时使用我的私钥进行身份验证?
我看过一篇博客文章,它使用 apt-get 在 Debian 上安装 Hudson,它创建了一个 Hudson 用户(因此我可以为该用户添加私钥),但通过 tomcat autodeploy 安装它不会添加 Jenkins用户。如果没有为 Jenkins 设置 unix 用户,我可以配置 Jenkins 在进行身份验证时使用的用户吗?
最佳答案
如果您可以从 Jenkins 内部控制 Mercurial 命令行,您可以传递 --ssh
命令来告诉 Mercurial 要调用哪个 ssh 命令。像这样的东西可能会起作用:
hg --ssh '/usr/bin/ssh -i /path/to/private/key' ...
或者,您可以找出 Jenkins 正在以什么用户身份运行(它必须是某个用户)并将文件放入该用户的 ~/.ssh
中,即使这是/root/.ssh/
关于mercurial - 如何为 hudson/jenkins 设置私有(private) ssh key 来访问 bitbucket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323434/