報錯信息如下:
+ git push warning: push.default 未設置,它的默認值將會在 Git 2.0 由 'matching' 修改為 'simple'。若要不再顯示本信息並在其默認值改變后維持當前使用習慣, 進行如下設置: git config --global push.default matching 若要不再顯示本信息並從現在開始采用新的使用習慣,設置: git config --global push.default simple 參見 'git help config' 並查找 'push.default' 以獲取更多信息。 ('simple' 模式由 Git 1.7.11 版本引入。如果您有時要使用老版本的 Git, 為保持兼容,請用 'current' 代替 'simple' 模式) fatal: could not read Username for 'http://gitlab.it.xxxx.com': No such device or address #關鍵錯誤 Build step '執行 shell' marked build as failure Finished: FAILURE
解決辦法:配置job使用ssh連接git而不是 username 和 password方式
配置jenkins通過ssh方式連接git后,再次執行push可以成功
+ git add . + git commit -m update [分離頭指針 bcebd49] update 2 files changed, 2 insertions(+) create mode 160000 test-official + git push warning: push.default 未設置,它的默認值將會在 Git 2.0 由 'matching' 修改為 'simple'。若要不再顯示本信息並在其默認值改變后維持當前使用習慣, 進行如下設置: git config --global push.default matching 若要不再顯示本信息並從現在開始采用新的使用習慣,設置: git config --global push.default simple 參見 'git help config' 並查找 'push.default' 以獲取更多信息。 ('simple' 模式由 Git 1.7.11 版本引入。如果您有時要使用老版本的 Git, 為保持兼容,請用 'current' 代替 'simple' 模式) remote: remote: To create a merge request for branch001, visit: remote: http://gitlab.it.xxxx.com/qa/test-official/merge_requests/new?merge_request%5Bsource_branch%5D=branch001
remote: To git@gitlab.it.xxxx.com:qa/test-official.git 1fddf4d..77c407b branch001 -> branch001 Finished: SUCCESS
操作步驟:
step1:生成密鑰
如果本地還沒有生成密鑰,使用命令生成
git config --global user.name "ciadmin" #配置用戶 git config --global user.email "ciadmin@xxxx.com" #配置郵箱 ssh-keygen -t rsa -C "ciadmin@xxxx.com" #生成密鑰
step2:配置gitlab
將公鑰 id_rsa.pub 復制到gitlab
cat ~/.ssh/id_rsa.pub

step3:配置jenkins
- job >>Configure>>Source Code Management>>Git>>Repository URL使用git方式
- 點擊[Add],添加密鑰

Kind >>SSH Username with private key >>選中 [Enter directly] 單選鈕>>點擊[Add]按鈕

查看私鑰
cat ~/.ssh/id_rsa
粘貼標記4

點擊[Add]保存配置
其它參數:

參考文檔:
