2016-08-15 38 views
0

我要自動化我們的發佈過程克隆在一個shell腳本,我有以下詹金斯建設工作的Maven項目:使用相同的HTTP的Git憑證作爲在後工序

  • 克隆一個Git回購與配置詹金斯憑證(用戶名/密碼)
  • 執行一些用於構建
  • 具有柱步驟構成,其執行一些額外的GIT中命令的Maven命令:合併,標籤,推

如果我執行我的後工序 shell腳本運行期間,我收到以下錯誤編譯:

fatal: could not read Username for 'https://mygitserver': Input/output error 

Git的回購服務器使用HTTP進行認證。

在控制檯日誌中我可以看到,詹金斯使用.gitcredentials來處理身份驗證:

using .gitcredentials to set credentials 
> git config --local credential.username jenkins # timeout=10 
> git config --local credential.helper store --file=/tmp/git2442727044778485.credentials # timeout=10 

我現在想,因爲他們在我構建的開端創建實際重用這些憑證庫,但克隆後再次移除。

這是不是有可能,或者我需要自己用「憑證綁定插件」等來處理?

感謝您的幫助。

回答

1

因爲我還沒有找到任何解決辦法,在我構建的開端重用從克隆命令最初Git的憑據,我剛纔使用的詹金斯證書綁定插件,並創建了自己憑證存儲爲我定製的git後步驟中的命令。

+0

正是我在找的! 安裝插件https://wiki.jenkins.io/display/JENKINS/Credentials+Binding+Plugin並按照https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting中的建議進行配置-Secrets成 - 詹金斯 - 建設 - 喬布斯。完美工作! – Miguel

0

這是我花了爲了滿足類似需求的路徑:

  • 我在git的帳戶添加了一個公共SSH密鑰
  • 我加入了SSH私鑰和密碼在詹金斯SSH證書
  • 我在混帳回購協議克隆階段
  • 我在SSH代理重複使用相同的憑證使用此憑據詹金斯建設環境 **因此所有後生成的shell腳本將使用它
相關問題