报错信息如下:
+ 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]保存配置
其它参数:
参考文档: