jenkins构建启动失败

有一个项目,在启动的时候读取了环境变量,第一次写了一个启动脚本如下

#!/bin/bash --login

jarFile=$1 
pid=`ps -ef | grep $jarFile | grep 'java' | grep -v 'grep' | awk '{print $2}'`  
if [ -n "$pid" ]; then
  echo 'pid exist : '$pid 
  kill -9 $pid 
  echo 'result'$? 
fi
java -jar /opt/app/assets.jar >> /opt/app/assets.out 2>> /opt/app/assets.alarms &

手动在服务器上启动是没问题的,但是jinkins构建,怎么都不成功,因为项目读取了系统的环境变量,jenkins构建一直报环境变量有错,手动启动则不报错,

原因是jenkins用shell脚本启动并没有去载入环境变量导致,修改如下

#!/bin/bash --login

jarFile=$1 
pid=`ps -ef | grep $jarFile | grep 'java' | grep -v 'grep' | awk '{print $2}'`  
if [ -n "$pid" ]; then
  echo 'pid exist : '$pid 
  kill -9 $pid 
  echo 'result'$? 
fi
export BASH_ENV=/etc/profile
java -jar /opt/app/assets.jar >> /opt/app/assets.out 2>> /opt/app/assets.alarms &

新增了一句

export BASH_ENV=/etc/profile
指定环境变量,则不再报错
原文地址:https://www.cnblogs.com/younldeace/p/7382813.html