
?
今天在測試jenkins 拉代碼的時候,又出現一些權限和交互的問題,今天再總結一下?:
(資料圖)
一,Git服務器的配置根據這里的指導直接操作
??https://www.runoob.com/git/git-server.html?? ?
特別要注意里面git賬號和文件的權限,ssh文件的權限(全部按照這里說的操作)?
二,Jenkins服務器配置?
記住在使用Jenkins網頁拉取代碼和在Jenkins服務器上拉取代碼時,使用的SSH秘鑰位置是完全不同的?
通過Jenkins網頁訪問git服務器的時候其實是利用jenkins賬號來訪問的,他調用的ssh key相關信息存儲在/var/lib/jenkins/.ssh中,這個文件夾的屬主和屬組必須是jenkins,而且權限不能太大,也不能太小,都有可能導致無法訪問?直接登錄jenkins 服務器訪問git服務器的時候,用的是當前登錄的用戶的用戶目錄下的.ssh文件,文件的屬主和組都必須是當前用戶,而且權限也不能太大,不然也無法訪問?這是jenkins的ssh賬號信息,把這里的pub key ?
Copy到git服務器的authorized.keys 文件中?
如果權限不對的話,這里一直報錯,檢查的方法即使在jenkins服務器上切換到jenkins 賬號?
根據jenkins服務器上登錄界面的提示?
git ls-remote -h -- git@10.180.116.165:/home/gitrepo/runoob.git HEAD只要這個命令在jenkins用戶下操作沒有什么問題,基本上在jenkins網頁登錄git服務器就沒有問題,可以根據這個命令中報錯提示,去找原因(注意,這條命令執行不需要任何其他操作才能成功)?
這是另外一臺Git服務器,其他操作都一樣,唯一的差別就是操作?
git ls-remote -h -- git@10.180.116.175:/home/gitrepo/runoob.git HEAD這條命令的時候需要輸入密碼(這里貌似是認證的ssh key沒有生效,所有需要輸入密碼驗證,檢查git的auth 下的key和jenkins服務器的key知否一致,如果一致,理論上不需要其他的驗證,ssh key就應該已經交互了)?
??https://blog.csdn.net/bigwood99/article/details/107073603??這個文件對jenkins中權限的設置,寫的比較清楚?