younldeace

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

#!/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
指定环境变量,则不再报错

分类:

技术点:

相关文章:

  • 2022-01-21
  • 2022-01-04
  • 2022-01-24
  • 2021-07-17
  • 2021-08-26
  • 2022-12-23
  • 2022-02-03
  • 2021-12-31
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-11
  • 2021-12-06
  • 2021-12-17
  • 2021-12-08
  • 2021-12-16
相关资源
相似解决方案