美文网首页
Jenkins pipeline 之 scp

Jenkins pipeline 之 scp

作者: 思_路 | 来源:发表于2018-08-17 21:52 被阅读0次

    在pipeline 中使用sshagent 插件时,jenkins slave节点总是报错:

    [public] Running shell script
    + scp -i **** apidoc.tar ubuntu@172.26.136.38:/home/ubuntu/mypage-apidoc/
    Host key verification failed.
    lost connection
    script returned exit code 1
    

    一开始想到可能是因为这个插件有问题,遂换成withCredentials 插件,代码如下:

    withCredentials([sshUserPrivateKey(credentialsId: 'd4b344b4-9a3d-48d2-9fc5-b64dd9b47ea3', keyFileVariable: 'pem')]) {
                  // some block
                  sh "scp -i ${pem} apidoc.tar ubuntu@172.26.136.38:/home/ubuntu/mypage-apidoc/"
                  sh "ssh -i ${pem} ubuntu@172.26.136.38 \"tar -xvf /home/ubuntu/mypage-apidoc/apidoc.tar -C /home/ubuntu/mypage-apidoc/\""
                }
    

    但是问题依然没有得到解决,还是报这个错,后来发现google上有篇帖子提到这个问题,是由于slave 节点中的known_hosts 中没有对应记录造成的,于是在主节点中找到服务器的这条记录,运行如下命令。

    echo "|1|WMPpuYJirJFjJUzdkyVI4CshW........9A=">known_hosts
    

    问题终于得到解决。

    参考资料:

    相关文章

      网友评论

          本文标题:Jenkins pipeline 之 scp

          本文链接:https://www.haomeiwen.com/subject/vptxiftx.html