• [Jenkins]执行git push命令报错fatal: could not read Username forxxx| 配置jenkins使用ssh方式连接git


    报错信息如下:

    + 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]保存配置 

    其它参数:

     

     

     

    参考文档:

    jenkins配置和使用使用git,ssh方式

  • 相关阅读:
    Elasticsearch使用记录
    Python程序打包成exe的一些坑
    Django的基础操作总结
    社会工程学的基本理论和基本应用
    ceph分布式存储系统初探
    简单个人信息安全模型
    基于socket.io客户端与服务端的相互通讯
    使用node建立本地服务器访问静态文件
    java 03 数组
    java 04 面向对象
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/12192598.html
Copyright © 2020-2023  润新知