如何配置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,则会出现以下错误: 无法连接

我尝试按照本文中的说明进行操作:

但我有两个问题:

  • 它不起作用。当我推到github时,jenkins那边什么也没发生。在詹金斯的GitHub钩子日志中说,“投票还没有运行。”

  • 造成这种情况的可能原因是,我无法按此图中所述指定git存储库:

  • 公钥没有文本字段,其他字段也没有。相反,我有田地

    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
      。把钥匙加在那里

    • 转到
      Settings>servicehooks>webhookurl
      。点击测试按钮。在GitHub方面,您不会看到太多

    • 跳回云蜂詹金斯。从作业主页转到“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端设置日志记录。有了这个,我在詹金斯系统日志中得到了各种各样的东西


    我刚刚发布了一篇关于使用CloudBees在GitHub上托管的Play应用程序的持续集成教程。这旨在提供一个全面的指南:


    只是为了验证:1)您是否选中了Jenkins作业中BuildTrigger下的复选框“更改推送到GitHub时生成”?2) 您是否在GitHub项目中的设置|服务挂钩| WebHook URL下注册了服务挂钩?是的,我注册了。请参阅问题的更新。根据上面的Git错误消息,我假设您无法通过身份验证。您是否如前所述在GitHub上添加了CloudBees公钥?好的,我想我找到了公钥(在Jenkins中)并将其放入GitHub中。现在,我可以指定github存储库的SSHURL。但仍然没有触发。实际上,在设置密钥后,触发确实起作用。不知道为什么我的第一次测试似乎失败了。