解决jenkins使用publish over ssh在远程机器上执行git命令和mvn命令不成功、不执行、失败等问题,bash: mvn: command not found
文章摘要:在使用Jenkins的PublishOverSSH插件进行跨服务器部署时,由于服务器A(JDK11)和B(JDK8)的JDK版本差异,直接在服务器B执行Maven打包可避免兼容问题。测试发现远程执行git和mvn命令失败,改用全路径命令后命令能执行但未生成jar包。最终通过在shell命令中添加JDK和Maven环境变量解决了打包问题,确保部署流程正常完成。
·
背景
jenkins使用publish over ssh在远程服务器B部署项目
服务器A和服务器B的jdk版本不一样,服务器A的项目用的是jdk11,服务器B的项目用的是jdk8
jenkins在服务器A安装,如果在服务器A使用maven打包服务器B的项目传输到服务器B可能会造成jdk版本不兼容问题。
因此只能使用jenkins直接使用shell命令在远程服务器B上执行git命令和maven命令打包并部署(前提是服务器B上已经安装配置了git和maven)。
问题
经过一天的测试发现直接在publish over ssh命令框写shell命令如下,在远程服务器B上执行时,git命令和mvn命令没有执行,但是使用这些命令直接在服务器是可以正常执行成功的
后来改用命令全路径,git执行了,mvn也执行了,但是maven打包目录target里却没有打好的jar包
查看target目录只有这几个文件目录,并没有jar包
解决
后来在一篇文章看到,在shell命令中添加上jdk和maven环境变量,就可以执行打包成功
或者只添加jdk的环境变量
更多推荐
所有评论(0)