2013-03-15 32 views
2

我试图按照本文中的说明:如何配置CloudBees的詹金斯触发基础上推到Github上

http://developer.cloudbees.com/bin/view/DEV/GitHub+Commit+Hooks+HOWTO

但我有两个问题:

  1. 一点也没有”工作。当我推送到github时,詹金斯一方没有发生任何事情。在Jenkins上,GitHub Hook日志说'轮询还没有结束。'

  2. 可能的原因这是因为这形象描述我不能指定Git仓库:

enter image description here

没有文本框的公共密钥,还是其他领域。相反,我有字段

Repository URL, Name, Refspec 

另外我可以指定一个http url(以及除触发工作外的所有内容)。但是,如果我指定的git/SSH URL作为图像我收到以下错误:

Failed to connect to repository : Command "git ls-remote -h [email protected]:schauder/degraph.git HEAD" returned status code 128: stdout: stderr: Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

我复制从GitHub上的URL,这样一个错字是有点不太可能。

我核实,我已经安装了GitHub的插件(升级至1.5版本)

任何提示如何解决或至少调试问题?在评论

更新回答问题:

是的,我检查了复选框在任务配置“时,改变推到GitHub的建设”。

是的,我在GitHub中设置了webhook。当我点击测试按钮时,没有任何反应。当我把webhook中的url放到浏览器中时,我得到一个http 500说

Not intended to be browsed interactively (must specify payload parameter)

加上一些冗长的堆栈跟踪。

另一个更新

我检查安装在詹金斯侧GIT相关的插件。在文本中显示他们与GIT的所有内容都已安装,并且是最新版本

+0

只是为了验证:1)你检查你的工作詹金斯在BuildTrigger复选框“更改时被推到GitHub上建立”? 2)您是否在设置|下注册了服务钩子服务钩|你的GitHub项目中的WebHook URLs? – 2013-03-15 10:19:34

+0

是的,我做到了。查看问题的更新。 – 2013-03-15 11:00:20

+0

根据上面的Git错误消息,我假设您无法进行身份验证。按照[此处](http://wiki.cloudbees.com/bin/view/DEV/How+to+use+Private+GitHub+Repositories+with+CloudBees)所述,您是否在GitHub上添加了CloudBees公共SSH密钥? – 2013-03-15 11:15:28

回答

3

根据上面的Git错误消息,我假设您无法进行身份验证。您是否按照here所述在GitHub上添加了CloudBees公共SSH密钥?

澄清OP

在问题中引用的图像似乎表明,一个把公钥从GitHub到CloudBees的。但实际上它恰恰相反,并且所有的标签似乎都会发生变化,所以将该屏幕截图与您在CloudBees中看到的内容进行匹配有点困难。

因此,我所做的是:

  • 在CloudBees的作业配置

    有一个公共密钥(由CloudBee生成)。我在CloudBees [email protected] Authorization部分,标记为CloudBees Public Key。复制该密钥。

  • 跳转到GitHub并转到Settings > Deploy Keys。在那里添加密钥。

  • 转到Settings > Service Hooks > WebHook URLs。点击测试按钮。你不会在GitHub上看到太多东西。

  • 跳回CloudBees Jenkins。从工作的主要页面转到'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这表示钩子已经工作,但是您已经构建了当前版本,因此构建不会再次触发。

  • 如果您仍有问题,请在'问题解答'下查看https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin#GitHubPlugin-TriggerabuildwhenachangeispushedtoGitHub,它会告诉您如何在jenkins端设置日志记录。有了这个,我可以在Jenkins SystemLog中获得所有类型的东西。