簡體   English   中英

Jenkins通過SSH訪問私有BitBucket倉庫

[英]Jenkins access private BitBucket repo over SSH

我無法讓Jenkins通過SSH在BitBucket上克隆git存儲庫。 它失敗了以下消息:

Building in workspace /var/lib/jenkins/workspace/test
[ssh-agent] Using credentials git (git@bitbucket.org:<user>/<repo>.git)
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Java/JNR ssh-agent
[ssh-agent] Started.
Checkout:test / /var/lib/jenkins/workspace/test - hudson.remoting.LocalChannel@2b619bca
Using strategy: Default
Fetching changes from 1 remote Git repository
Fetching upstream changes from origin
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
hudson.plugins.git.GitException: Command "git fetch -t origin +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: ssh: connect to host bitbucket.org port 22: Connection refused
fatal: The remote end hung up unexpectedly

采取的步驟

  • 創建SSH密鑰對
  • 將公鑰添加為BitBucket上存儲庫的部署密鑰
  • 在Jenkins憑據管理器插件中安裝SSH密鑰和用戶名(已嘗試'git'和我的BB帳戶名稱)
  • 嘗試使用形式的URL克隆構建中的存儲庫

    git@bitbucket.org:<user>/<repo>.git

我也嘗試過不使用憑證管理器並在/var/log/jenkins/.ssh/手動安裝密鑰,但無濟於事。

我有什么想法我做錯了嗎?

正如@ user1562655建議的那樣,克隆因另一個問題而失敗 - 在這種情況下防火牆阻止了端口22上的傳出ssh。

修復是使用端口443(服務器允許這樣),以及不同的BitBucket URL:

ssh://git@altssh.bitbucket.org:443/<user>/<repo>.git

…代替

ssh://git@bitbucket.org:<user>/<repo>.git

有關該計划的更多信息,請點擊此處:

UsetheSSHprotocolwithBitbucket-SSHonPort443

暫無
暫無

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

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