背景

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的环境变量

 

 参考链接:解决jenkins使用publish over ssh在远程机器上执行mvn命令失败,bash: mvn: command not found_jenkins publish over ssh 执行命令不显示-CSDN博客

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐