jenkins构建执行shell 所有命令出现command not found

Posted Oops!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins构建执行shell 所有命令出现command not found相关的知识,希望对你有一定的参考价值。

出现的问题:

 

+ rsync -avzP /mnt/workspace/df-admin/ root@192.168.0.153:/home/deploy/deep_fashion_targets/web
/tmp/jenkins5788277461826608.sh: line 2: rsync: command not found
Build step \'Execute shell\' marked build as failure
Finished: FAILURE


构建是执行shell echo $PATH 发现常规的PATH 没有输出 :

/var/lib/jenkins/tools/hudson.model.JDK/jdk1.8/bin:/var/lib/jenkins/tools/hudson.model.JDK/jdk1.8/bin:/usr/local/sbin:/usr/sbin:/usr/java/jdk1.8//bin:/usr/local/apache-maven-3.5.3/bin:/usr/java/jdk1.8//bin:/usr/local/apache-maven-3.5.3/bin

 

在环境变量 /etc/profile 里面 修改 PATH  路径 

 

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$JAVA_HOME/bin:$M2_HOME/bin

 

再在构建中执行shell   echo $PATH  , 有相应的输出

++ PATH=/home/nodeDev/node-v8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin


在构建的shell 前添加 #!/bin/bash -il 可正常执行


 

 

另外一种情况:如果 shell 本身不在构建后执行 就不能使用 #!/bin/bash -i1 的办法, 只能jenkins 系统里进行设置  

如: 调用maven  

构建的报错

 

配置如下:

进入系统-配置 

 

保存后执行构建 可以正常调用jenkins服务器上相关的命令 

 

参照文章如下:

 

问题:

解决方法:

http://www.geekcome.com/content-10-3868-1.html

1、控制台执行 echo $PATH

把输出的这句话复制

2、jenkins->系统管理->系统设置

勾选Environment variables,添加键值,键:PATH,值:刚才复制的那句话

以上是关于jenkins构建执行shell 所有命令出现command not found的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins SSH 插件 - 根据任务(构建/发布)执行不同的 shell 脚本命令 - 环境变量

DevopsdockerCI/CD关于jenkins构建成功后一步,执行的shell命令详解

在windows上使用jenkins远程执行linux shell命令

Jenkins构建本地项目到服务器上自动部署的方法

jenkins 调用 脚本命令 svn co 报错

如何执行 shell 命令来填充 Jenkins 动态选择参数插件