2013-03-15 61 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中獲得所有類型的東西。