Jenkins通过Pipeline 通过ssh执行远程服务器脚本总是不执行,也没报错

qingchunwudi123 2020-11-26 08:40:53
我的Pipeline最后是在远程服务器执行一个脚本的
sshPublisher(publishers: [sshPublisherDesc(configName: "${ServerName}", transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "/opt/jenkins/deployCluster.sh", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

就是在远程服务器执行deployCluster.sh脚本,但是整个流程走完,我没发现报错,但是我看脚本也没有执行。

最后那个脚本结果是
SSH: Connecting with configuration [docker] ...
SSH: EXEC: completed after 405 ms
SSH: Disconnecting configuration [docker] ...
SSH: Transferred 0 file(s)

但是脚本压根没执行,请问有哪位大神知道为什么啊??
...全文
3945 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1

execCommand: "/opt/jenkins/deployCluster.sh" 调整为execCommand: "/opt/jenkins/deployCluster.sh && ps -ef |grep java"

qq_40327720 2021-09-14
  • 打赏
  • 举报
回复 1

verbose: false 最后面这个配置改成true,就可以在jenkins输出日志了,其实是已经执行了,不过可能因为各种原因导致没生效而已

爪_蛙 2021-05-27
  • 打赏
  • 举报
回复 1
3、还有一种可能就是你的sh脚本没有执行权限,记得:chmod 777 xxx.sh (确保这个sh脚本所在上层文件夹也有可读可写可执行权限)
爪_蛙 2021-05-27
  • 打赏
  • 举报
回复 2
你在你执行脚本最后在加一条命令(随便加例如ls),重新构建就可以在构建日志中看到你上一步执行那个sh脚本报什么错。jenkins是个很掉蛋的程序,如果你最后执行的命令报错是不会在jenkins日志中显示错误信息的。楼主出现sh脚本没被执行有两种可能:1、你的publisher over SSH配置的时候勾选了高级里的Disable exec(注意这个不要勾选)。2、你脚本执行路径不对所以没被执行。
mroldx 2022-05-16
  • 举报
回复
@爪_蛙 卧槽,老哥叼啊
泡泡先生 2021-04-26
  • 打赏
  • 举报
回复 1
兄弟们有解决吗,我的也是
Young w 2021-03-24
  • 打赏
  • 举报
回复
引用 1 楼 cjg863111500 的回复:
楼主,这个你怎么解决的,我也遇到了
兄弟,请问一下解决了吗
luo_yu_1106 2021-03-24
  • 打赏
  • 举报
回复
请问您解决了吗,我也碰到这个问题了
cjg863111500 2021-02-08
  • 打赏
  • 举报
回复
楼主,这个你怎么解决的,我也遇到了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧