我正在尝试使用Apache2设置Debian服务器作为运行Jenkins的Tomcat 7的前端-这正在工作- 但我希望Jenkins监视托管在bitbucket上的私有Mercurial存储库,并且我想使用SSH。(我曾尝试使用简单的https,但仍然没有喜悦- SO上有一个问题答案,建议使用ssh)
通过将Jenkins .WAR文件拖放到/ webapps中,我已经使用Tomcat的热部署功能部署了Jenkins。我可以在服务器上生成一个公钥/私钥对,并将我的公钥添加到Bitbucket帐户中- 但是,当我访问Bitbucket上的私有存储库时,如何让Jenkins使用我的私钥进行身份验证?
我看过一篇博客文章,其中使用apt-get在Debian上安装Hudson会创建一个Hudson用户(因此我可以为此用户添加私钥),但是通过tomcat autodeploy安装它并不会添加Jenkins用户。如果没有为Jenkins设置unix用户,我可以配置Jenkins在身份验证时使用的用户吗?
如果可以在Jenkins中控制mercurial命令行,则可以传递--ssh命令以告诉mercurial调用什么ssh命令。这样的事情可能会起作用:
--ssh
hg --ssh '/usr/bin/ssh -i /path/to/private/key' ...
或者,您可以弄清楚Jenkins是以哪个用户身份运行的(必须是 某个 用户),然后将文件放入该用户的文件夹中,~/.ssh即使/root/.ssh/
~/.ssh
/root/.ssh/