2012-08-23 119 views
3

我似乎試圖將Jenkins(Ubuntu的EC2 AWS實例)與Bitbucket鏈接起來。使用Bitbucket配置Jenkins

每當我嘗試建立我的項目(我已經安裝上詹金斯git的插件)我得到...

Building in workspace /var/lib/jenkins/jobs/Google adwords/workspace 
Checkout:workspace//var/lib/jenkins/jobs/Google adwords/workspace - [email protected] 
Using strategy: Default 
Cloning the remote Git repository 
Cloning repository origin 
ERROR: Error cloning remote repo 'origin' : Could not clone [email protected]:DAVID99WORLD/assessme.git 
hudson.plugins.git.GitException: Could not clone [email protected]:DAVID99WORLD/assessme.git 
    at hudson.plugins.git.GitAPI.clone(GitAPI.java:268) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1122) 
    at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1064) 
    at hudson.FilePath.act(FilePath.java:842) 
    at hudson.FilePath.act(FilePath.java:824) 
    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1064) 
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1256) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:589) 
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) 
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:494) 
    at hudson.model.Run.execute(Run.java:1502) 
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:477) 
    at hudson.model.ResourceController.execute(ResourceController.java:88) 
    at hudson.model.Executor.run(Executor.java:236) 
Caused by: hudson.plugins.git.GitException: Command "git clone --progress -o origin [email protected]:DAVID99WORLD/assessme.git /var/lib/jenkins/jobs/Google adwords/workspace" returned status code 128: 
stdout: Cloning into '/var/lib/jenkins/jobs/Google adwords/workspace'... 

stderr: Host key verification failed. 
fatal: The remote end hung up unexpectedly 

精細 - 這看起來像它試圖去通過ssh卻找不到按鍵。所以我想生成密鑰,~/.ssh下,我已經拿到了文件authorized_keysknown_hosts但根據這裏的文檔......

https://confluence.atlassian.com/display/BITBUCKET/How+to+install+a+public+key+on+your+bitbucket+account

我應該叫下的〜/ .ssh文件id_rsa

我一直在關注的文件...

https://confluence.atlassian.com/display/BITBUCKET/Using+the+SSH+protocol+with+bitbucket

但它看起來幾乎是上下半場結束或者我錯過了將密鑰放入正確文件的位。

首先 - 我的假設是否正確這是一個ssh問題?其次,如果是的話,是否有人知道如何讓鑰匙匹配,這樣詹金斯可以做出拉和建立?

編輯:我認爲這是一個ssh問題,因爲問題Jenkins Build Using Git with Deploy Key是相關的,但我使用的是bitbucket而不是github。

回答

6

您需要生成要上傳到BitBucket帳戶的密鑰文件。從運行Jenkins的用戶執行以下操作:

ssh-keygen -t rsa 

採用密鑰文件位置的默認值並將密碼短語留爲空白。然後您將有〜/ .ssh/id_rsa.pub文件上傳到BitBucket。

+1

Thaks很多!我正在設置密碼!大聲笑 –

1

我在閱讀這篇文章,因爲我有同樣的問題,我現在發現了一些有用的東西。我有一個從屬建築服務器(Win7-64機器),我已經安裝了標準的Git(在安裝過程中,我選擇了第三個選項:「從Window命令提示符運行Git幷包含Unix工具」)。 Jenkins配置了Java Web Start。

我注意到,如果我從Git的執行shell命令

SSH -vT [email protected]

我可以與服務器收到消息驗證

還可以使用Git或hg連接到Bitbucket。外殼訪問被禁用。

,但如果我從CMD執行相同的命令,我得到

權限被拒絕(公鑰)

我不知道,但我認爲Git插件可從窗口外殼,而不是與執行命令git shell(如我所料),所以這可以確定構建中的身份驗證問題。

Git Plugin docs有一小段叫做「一些窗口樂趣」,建議將.ssh用戶的文件夾複製到Git文件夾下(在我的情況下是C:\ Program Files(x86)\ Git)。

這樣做後,從Windows外殼我跑ssh -vT [email protected]它工作(如果它不工作,嘗試重新啓動外殼或整個機器)。 然後我從Jenkins運行了這個構建,最後它運行了。

我希望這可以幫助。

祝你好運。

+0

謝謝,這解決了我的問題。 – Meep