2016-09-22 116 views
1

我們在Jenkins上的構建作業是作爲發佈構建一些git命令(如git push和git pull)的一部分運行,因此需要從shell運行已認證的git命令在構建期間。從Jenkins Git插件使用SSH密鑰在構建期間運行Git命令

我們詹金斯奴隸並沒有持有任何憑證,因爲他們是每個版本創建的一次性碼頭集裝箱。

git插件用Jenkins證書來管理這個事情,並且「以某種方式」設置GIT_SSH來獲取通過證書配置的私鑰。

我檢查了源代碼,並試圖確定如何獲取配置的變量,以便我可以將git pull作爲SSH腳本作爲構建的一部分運行。沒有成功。

有沒有辦法使用Jenkins證書作爲構建步驟的一部分運行git命令?

我目前的解決方案是將SSH密鑰複製到從站作爲構建環境設置的一部分,但看起來像重複的工作(加上潛在的安全問題)。

+0

你可以通過命令行在github中添加從機的公鑰嗎? –

+0

每個slave都是一個一次性的docker容器,沒有SSH密鑰或者任何設置來支持這個,比我現在做的拷貝更復雜,我認爲 –

回答

-1

如果通過git運行共享憑據是必不可少的,請給git client plugin一個嘗試,但如果您確實想共享/存儲憑據,請考慮使用credentials plugin或類似的東西。

請注意,您也可以在「安裝後」運行一個shell腳本,該腳本可以運行需要在機器上執行的任何命令。

+0

我不認爲我知道,插件對於問題提到。 shell腳本是我現在正在做的副本(當然,不是shell腳本,而是構建環境步驟)。 –