美文网首页
Jekins发布项目获取到的path环境变量

Jekins发布项目获取到的path环境变量

作者: zebei | 来源:发表于2018-10-23 19:55 被阅读0次

调试代码时发现一个很奇怪的问题,本地通过java执行命令行时没有报错

log.info("commendStr={}",commandStr);

Process p = Runtime.getRuntime().exec(commandStr, null , new File(cmdPath));

if(p !=null){

p.getOutputStream().close();

}

br =new BufferedReader(new InputStreamReader(p.getInputStream()));

String line =null;

StringBuilder sb =new StringBuilder();

while ((line = br.readLine()) !=null) {

sb.append(line +"\n");

}

int i = p.waitFor();

log.info("process wait for return --->{}",i);

主要功能是执行commandStr    的命令 

但是通过jekins发布项目到其他机器会发现无法识别commandStr中的命令,在部署的机器上查看path环境变量也没发现问题,将命令单独在机器上运行也没问题

通过jekins编写了一个shell脚本 直接执行  shell中的命令为查询path 发现执行出来的结果和机器上查询出来的结果不一致,重启jekins后代码能正常运行

由此初步得出结论 jekins启动后将path环境变量写入了自己缓存中,外部机器path改动并不会导致jekins刷新缓存变量,如果代码中有使用命令行依赖path的需要特别注意:加入到path时间和jekins的启动时间前后关系

相关文章

  • Jekins发布项目获取到的path环境变量

    调试代码时发现一个很奇怪的问题,本地通过java执行命令行时没有报错 log.info("commendStr={...

  • linux 环境变量操作

    查看PATH环境变量:echo $PATH添加PATH环境变量:export PATH=$PATH:/usr/lo...

  • jekins进行部署

    利用jekins进行部署项目,简单说一下内容:1、项目进行打包发布2、直接发布到线上环境(通过tomcat 插件直...

  • [macOS] Tips

    重置环境变量PATH=$(getconf PATH) 增加环境变量export PATH=/usr/local/b...

  • node学习笔记(2):NODE_PATH环境变量

    NODE_PATH环境变量: 与PATH环境变量类似,NodeJS允许通过NODE_PATH环境变量来指定额外的模...

  • Linux Tips

    环境变量 查看用户环境变量echo $PATH 添加环境变量(临时)echo $PATH 添加环境变量(永久,对于...

  • Mac OS X修改环境变量

    1.快速修改环境变量 查看当前环境变量echo $PATH添加一个路径到环境变量export PATH=$PATH...

  • linux

    误伤Path解决方案 单独查看PATH环境变量,可用: 添加PATH环境变量,可用: 再次查看: 说明添加PATH...

  • python软件安装

    环境变量配置: 方法一:使用cmd命令添加path环境变量 在cmd下输入:path=%path%...

  • Linux环境变量

    1、回显Path环境变量 echo $PATH 2、export 查看环境变量 exp...

网友评论

      本文标题:Jekins发布项目获取到的path环境变量

      本文链接:https://www.haomeiwen.com/subject/lahbaftx.html