jenkins 從git拉取代碼


步驟

jenkins已集成git插件(如無,請自行下載)

 

1. 去到源碼管理欄,選中Git:

 

 使用http協議去獲取代碼

 Repository URL填寫http的git地址,此時未選擇相應的Credentials,會有圖中紅色提示

 HTTP協議的話,需要輸入賬號密碼來驗證,點擊Add,輸入的賬號密碼並保存,記得kind選擇“Username with password”

選后Credentials選中剛剛新增的賬號密碼,紅色提示消失;

 

使用ssh協議去獲取代碼

 Repository URL填寫ssh的git地址,此時未選擇相應的Credentials,會有圖中紅色提示

 

點擊Add,需要添加ssh的credentials,這里需要上傳的是私鑰(不是公鑰!!)

私鑰文件存放在~/.ssh/id_rsa 文件中,

可參考http://blog.csdn.net/gw569453350game/article/details/51911179

 

2. 查看是否成功獲取git代碼

首先可以查看jenkins的控制台輸出日志,是否報錯

或者直接去到jenkins的工作目錄

/var/lib/jenkins/workspace/

查看代碼是否clone下來



疑問點(公鑰和私鑰的理解)

為什么linux上直接可以git clone成功,而用jenkins去執行不成功呢,然后jenkins為什么不用公鑰而要密鑰呢

 

個人理解:ssh生成的公鑰和私鑰是一對的,我們在linux上通過ssh協議獲取git代碼,也是先在linux生成公鑰+私鑰,然后把公鑰上傳到git服務端,然后獲取代碼的流程是:

a. linux把公鑰上傳到git服務器;

b. git服務器使用公鑰加密信息(這里指代碼),把信息傳回給linux;

c. linux拿到信息后,通過本地的私鑰解密信息,得到代碼;

而公鑰私鑰存放在~/.ssh下,每個用戶都不一樣

而jenkins的執行是用jenkins用戶去執行的,當git服務把信息給到jenkins的時候,jenkins在他的~/.ssh下沒有對應的私鑰,因此需要將私鑰告訴jenkins,這就是jenkins為什么需要添加私鑰;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM