簡體   English   中英

如何從jenkins登錄git bitbucket存儲庫

[英]How to log into git bitbucket repository from jenkins

我在bitbucket上有一個GIT存儲庫,我希望我的Jenkins服務器能夠自動訪問。 這只能使用公鑰/私鑰認證。 所以我創建了一個密鑰對並將公鑰上傳到bitbucket。 公鑰和私鑰在我的服務器上運行jenkins的tomcat用戶的.ssh文件夾中。 當我以服務器上的用戶身份登錄時,我能夠克隆我的項目。

但是我無法讓jenkins實際檢查來自bitbucket的代碼。 它總是說:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我認為這是因為當通過ssh訪問存儲庫時,我需要為我的私鑰提供密碼,而jenkins無法自動執行此操作。 我讀到,通過在.ssh文件夾中提供包含以下內容的配置文件,可以避免要求密碼短語:

Host bitbucket.org
    IdentityFile ~/.ssh/id_dsa

我這樣做了,但是只要我提供該文件,我就不能再從bitbucket克隆存儲庫了。 甚至不直接從服務器獲取與上面顯示的相同的錯誤消息。

有沒有人設法讓這個設置工作? 我還在stackoverflow上閱讀了以下線程,這對我沒用: 如何為hudson / jenkins設置私有ssh密鑰以訪問bitbucket? 我通過創建一個只運行“whoami”的空測試項目來檢查tomcat是否真的在用戶tomcat6下運行。 所以我幾乎沒有解決問題的想法。

在配置中指定IdentityFile不會更改是否必須為ssh密鑰提供密碼。 如果這樣做,這將是一個巨大的安全漏洞。 如果您的ssh密鑰沒有密碼,則不能要求您為ssh密鑰提供密碼的唯一方法。

因此,您應該專門為jenkins實例創建一個ssh密鑰,如果Bitbucket允許,則只為該密鑰提供對您的存儲庫的只讀訪問權限。

這可能與https://issues.jenkins-ci.org/browse/JENKINS-20879有關。使用沒有密碼的密鑰對我有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM