自動化 git 儲存庫克隆的方法

自動化 git 儲存庫克隆的方法

我必須在虛擬機器上克隆幾個儲存庫,然後在它們上建立軟體。我有非常好的建置腳本,但有一個問題。在建置之前,應該複製幾個儲存庫,並且在一些安全性更新之後,我不允許將我的公鑰新增到 git 伺服器,並且僅支援的協定是 ssh。

克隆指令如下圖所示:

git clone ssh://[email protected]:YYYY/repoB

但它們有很多,並且在每個之後傳遞密碼確實很煩人且耗時。

我想做的是將密碼自動傳遞給克隆命令。我試圖添加 userA:passwordA@git-ger.... 但它僅適用於 HTTPS,不適用於 ssh。我知道我必須切換到一些像ansible這樣的自動化工具來進行自動部署,但我花了很多時間重寫整個建置流程。

我的問題是如何自動傳遞密碼來克隆儲存庫,而不更改伺服器上的任何內容。理想情況下,是從 bash 等級執行此操作。我在輸入 git clone 後嘗試閱讀行,但它對我也不起作用。任何幫助將不勝感激

答案1

IMO 最好的解決方案是使用自訂GIT_ASKPASS幫助程式並將密碼作為另一個環境變數提供。例如,建立一個文件git-askpass-helper.sh

#!/bin/sh
exec echo "$GIT_PASSWORD"

然後git clone https://username@hostname/repo使用環境變數GIT_ASKPASS=/path/to/git-askpass-helper.sh和運行GIT_PASSWORD=nuclearlaunchcodes

相關內容