Jenkins:将工件(jar文件)复制到远程linux服务器,通过SSH插件发布
我想将构建jar文件从jenkins(当前安装在本地Mac计算机上)传输到linux服务器 我在Jenkins中设置了Jenkins:将工件(jar文件)复制到远程linux服务器,通过SSH插件发布,jenkins,ssh,jenkins-pipeline,jenkins-plugins,Jenkins,Ssh,Jenkins Pipeline,Jenkins Plugins,我想将构建jar文件从jenkins(当前安装在本地Mac计算机上)传输到linux服务器 我在Jenkins中设置了PublishOversh插件,并进行了必要的设置,但当我进行测试配置时,会出现以下错误: 无法连接或更改目录 jenkins.plugins.publish_over.BapPublisherException:无法连接和初始化SSH连接。消息:[未能连接配置[rn boltd lappxx.rno.XYZ.com]的会话。消息[Auth fail]] 日志文件显示: WARN
PublishOversh插件
,并进行了必要的设置,但当我进行测试配置时,会出现以下错误:
无法连接或更改目录
jenkins.plugins.publish_over.BapPublisherException:无法连接和初始化SSH连接。消息:[未能连接配置[rn boltd lappxx.rno.XYZ.com]的会话。消息[Auth fail]]
日志文件显示:
WARNING [Handling POST /jenkins/descriptorByName. /jenkins.plugins.publish_over_ssh.BapSshHostConfiguration/testConnection from 0:0:0:0:0:0:0:1 : http-nio-8080-exec-5]
jenkins.plugins.publish_over_ssh.BapSshHostConfiguration.connect Failed to connect session for config [rn-boltd-lapp24.rno.apple.com]. Message [Auth fail]
com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:519)
at jenkins.plugins.publish_over_ssh.BapSshHostConfiguration.connect(BapSshHostConfiguration.java:380)
at jenkins.plugins.publish_over_ssh.BapSshHostConfiguration.createClient(BapSshHostConfiguration.java:245)
at jenkins.plugins.publish_over_ssh.BapSshHostConfiguration.createClient(BapSshHostConfiguration.java:234)
at jenkins.plugins.publish_over_ssh.descriptor.BapSshPublisherPluginDescriptor.validateConnection(BapSshPublisherPluginDescriptor.java:180)
at jenkins.plugins.publish_over_ssh.descriptor.BapSshPublisherPluginDescriptor.doTestConnection(BapSshPublisherPluginDescriptor.java:175)
at jenkins.plugins.publish_over_ssh.descriptor.BapSshHostConfigurationDescriptor.doTestConnection(BapSshHostConfi
我在MAc 10.13.6上运行jenkins。
Jenkins在ApacheTomcat 9.0.1上运行
我能够安排基本的构建作业,git的连接工作正常
我已经使用ssh-keygen工具在本地MAC上生成了id_-rsa和id_-rsa.pub密钥
我能够使用jenkins中的简单shell脚本对linux服务器执行ssh
当我转到managejenkins>configuresystem>publishoverssh部分时
:
密码短语:我输入了用于登录linux服务器的LDAP密码
密钥的路径:
- 指向我的RSA密钥的路径:
/Users/neha922102/.ssh/id\u RSA
- 键:粘贴上面的键
- 名称:服务器名称
- 主机名:
rn boltd lappxx.rno.XYZ.com
- 用户名:
c4986148
- 远程目录:
/tmp
is_rsa.pub
密钥复制到了~/.ssh/authorized_密钥
c4986148@rn-boltd-lappXX(Linux-RENO::DEV):~/.ssh]$ ls -l
total 4
-rw-r--r--. 1 c4986148 aplstaff 745 May 7 05:37 authorized_keys
我不是这里的root用户,因此无法重新启动ssh服务
配置似乎很好,那么为什么我会出现这个错误
我应该能够与SSH连接,然后在构建成功时通过SSH复制工件。VERSION:Jenkins-ver。2.170检查jenkins executor运行的用户(只需在jenkins管道中回显用户名),然后检查该用户是否具有正确的配置。你的意思是,我应该创建一个新的管道作业。在脚本部分`,我应该写“echo username”,然后保存并单击“Build Now”查看输出。?是或任何将显示当前用户名的内容。由用户Neha启动,运行在耐久性级别:MAX_SURVIVABILITY[Pipeline]启动管道[Pipeline]在/Users/neha922102/.Jenkins/workspace/pipelineTest[Pipeline]{[Pipeline]stage[Pipeline]{(build user)[Pipeline]wrap[Pipeline]{[Pipeline]sh+echo Neha-Neha[pipepepeline]}[Pipeline]//wrap[Pipeline]}[Pipeline]//stage[pipepeline]}[Pipeline]//节点[Pipeline]管道结束:成功版本:Jenkins版本。2.170检查jenkins executor运行的用户(只需在jenkins管道中回显用户名),然后检查该用户是否具有正确的配置。你的意思是,我应该创建一个新的管道作业。在脚本部分`,我应该写“echo username”,然后保存并单击“Build Now”查看输出。?是或任何将显示当前用户名的内容。由用户Neha启动,运行在耐久性级别:MAX_SURVIVABILITY[Pipeline]启动管道[Pipeline]在/Users/neha922102/.Jenkins/workspace/pipelineTest[Pipeline]{[Pipeline]stage[Pipeline]{(构建用户)[Pipeline]wrap[Pipeline]{[Pipeline]wrap[Pipeline]{[Pipeline]sh+echo Neha-Neha[Pipeline]}[Pipeline]//stage[Pipeline]}[pipepeline]//节点[Pipeline]管道结束:成功