如何配置Cloudbees Jenkins以触发推送到Github的构建
我尝试按照本文中的说明进行操作: 但我有两个问题:如何配置Cloudbees Jenkins以触发推送到Github的构建,github,jenkins,cloudbees,Github,Jenkins,Cloudbees,我尝试按照本文中的说明进行操作: 但我有两个问题: 它不起作用。当我推到github时,jenkins那边什么也没发生。在詹金斯的GitHub钩子日志中说,“投票还没有运行。” 造成这种情况的可能原因是,我无法按此图中所述指定git存储库: 公钥没有文本字段,其他字段也没有。相反,我有田地 Repository URL, Name, Refspec 此外,我还可以指定一个http url(以及除触发之外的所有内容)。但是,如果在映像中指定git/ssh url,则会出现以下错误: 无法连接
Repository URL, Name, Refspec
此外,我还可以指定一个http url(以及除触发之外的所有内容)。但是,如果在映像中指定git/ssh url,则会出现以下错误:
无法连接到存储库:命令“git ls remote-h”
git@github.com:schauder/degraph.git HEAD“返回状态代码128:
标准输出:标准输出:警告:永久添加
“github.com,207.97.227.239”(RSA)添加到已知主机列表中。
权限被拒绝(公钥)。致命:无法从远程服务器读取
存储库
请确保您拥有正确的访问权限和存储库
存在
我从github复制了url,所以打字不太可能
我验证是否安装了github插件(升级到1.5版)
有关于如何修复或至少调试问题的提示吗
更新评论中的回答问题:
是的,我选中了作业配置中的复选框“将更改推送到GitHub时生成”
是的,我在GitHub中设置了webhook。当我点击测试按钮时,什么也没发生。当我把来自webhook的url放到浏览器中时,我得到了一个http 500
不打算以交互方式浏览(必须指定有效负载参数)
再加上一些冗长的跟踪
另一次更新
我检查了安装在Jenkins端的GIT相关插件。文本中显示他们使用GIT的所有内容都已安装,根据上面的GIT错误消息,在最新版本下,我假设您无法通过身份验证。您是否按照所述在GitHub上添加了CloudBees公共SSH密钥 OP的澄清 问题中引用的图片似乎表明,可以将GitHub中的公钥放入CloudBees。但实际上情况正好相反,而且所有的标签似乎都改变了,所以很难将截图与CloudBees中的内容进行匹配 所以我所做的是:
- 在Cloudbees的作业配置中有一个公钥(由CloudBee生成)。我在
部分并标记为CloudBees中找到了它DEV@cloud授权
。复制那把钥匙CloudBees公钥
- 跳到GitHub并转到
。把钥匙加在那里Settings>deploykeys
- 转到
。点击测试按钮。在GitHub方面,您不会看到太多Settings>servicehooks>webhookurl
- 跳回云蜂詹金斯。从作业主页转到“GitHub钩子日志”。在这里,您应该看到如下内容:
你的工作应该开始了 如果最后一行显示Started on Mar 15, 2013 8:55:14 AM Using strategy: Default [poll] Last Built Revision: Revision 581acde89a62317fd8dabaa3f4c6025d1c9dd413 (origin/master) Fetching changes from the remote Git repositories Polling for changes in Done. Took 0.34 sec Changes found
,这意味着钩子工作了,但您已经构建了当前版本,因此构建不会再次触发No Changes
- 如果您仍然有问题,请查看“故障排除”下的内容,它告诉您如何在jenkins端设置日志记录。有了这个,我在詹金斯系统日志中得到了各种各样的东西
只是为了验证:1)您是否选中了Jenkins作业中BuildTrigger下的复选框“更改推送到GitHub时生成”?2) 您是否在GitHub项目中的设置|服务挂钩| WebHook URL下注册了服务挂钩?是的,我注册了。请参阅问题的更新。根据上面的Git错误消息,我假设您无法通过身份验证。您是否如前所述在GitHub上添加了CloudBees公钥?好的,我想我找到了公钥(在Jenkins中)并将其放入GitHub中。现在,我可以指定github存储库的SSHURL。但仍然没有触发。实际上,在设置密钥后,触发确实起作用。不知道为什么我的第一次测试似乎失败了。