Jenkins执行远程主机Shell,提示‘命令不存在'
2020-02-01 13:37
2386 查看
Jenkins执行远程主机Shell,提示‘命令不存在’
场景
我在Centos主机上安装好Maven,并且配合好了环境变量。
通过
mvn -version,也能看到版本
然而使用Jenkins的publish over ssh 插件在访问这个主机执行到
mvn clean install的时候,遇到了问题
mvn这个命令与其他的命令最大的不同就是,mvn配置于
/etc/profile的环境变量中。找了很多资料得知,jenkins执行shell时,并不会加载这个环境变量中的内容。
可以试试在jenkins的shell中执行,
echo $path,看看打印出来的结果
打印出来的是这么一串东西…
而我们在Centos上打印的是自己配置的环境变量:
可见环境变量确实不对,至少PATH都不一样。
解决办法
主要看到了三种办法,但是我比较背,操作的方式可能不对,有两种方式未实现,直达遇到了第三种..
#!/bin/sh -l
,在Shell脚本前面加上 #!/bin/sh -l,意为以登录方式执行脚本。- 创建软连接的方式
- 在Shell脚本前面加上
source /etc/profile
,这句话本身就是让环境变量配置生效。我们修改了环境变量之后也会执行这句话。
第三种一步到位实现了。能够执行mvn命令了。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 如何用Jenkins通过SSH远程控制主机执行命令
- jenkins执行shell命令,有时会提示“Command not found”----处理方案
- 在Jenkins中配置执行远程shell命令
- jenkins结合shell实现登录远程主机执行shell脚本
- JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
- 在Jenkins中配置执行远程shell命令
- JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
- Jenkins执行远程Linux系统的shell命令
- 利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集
- JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
- 纯JAVA实现远程执行SSH2主机的SHELL命令
- JAVA实现远程执行SSH2主机的SHELL命令
- shell脚本实现同时多台远程主机执行命令的代码分享
- JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
- jenkins执行shell命令时,提示“Command not found”处理方法
- JSch:纯JAVA实现远程执行SSH2主机的SHELL命令
- Jenkins执行shell脚本,提示“未找到命令”
- 在Jenkins中配置执行远程shell命令
- publish over ssh 实现 Jenkins 远程部署 / jenkins 远程执行shell 一键远程发布 tomcat / jenkins分别发布多个项目到多个远程主机
- Jenkins执行远程Linux系统的shell命令