我用 Jenkins 创建了个自由项目,用来获取 gitlab 上的 json 接口脚本运行 运行方式是 node js 中的 Newman,它现在提示我未找到 Newman 命令,可是我用这些文件本地运行是正常的,请问有大佬知道这个问题如何解决吗??
系统是 cent os 8
解决思路参考: 1、在你跑 newman 前执行 env ,确认下你的环境变量的 PATH 里有没有包含 newman 所在的路径 2、如果没有,确认下你设定 newman 环境变量的配置文件是哪个,手动用 source 对应配置文件 来手动应用,示例:source ~/.bashrc
env
source 对应配置文件
source ~/.bashrc
这个问题背后的原因是 jenkins 使用的 shell 模式,和你直接本地执行的 shell 模式有差异,所以初始化时应用的配置位置也会有差异。从现象上看大概率你的 newman 配置就在有差异的这部分里。
详细可以参考: 登陆 shell,非登陆 shell 以及交互 shell 和非交互 shell
本地的环境变量我是通过修改 etc/profile 设置的 但是我在 jekins 执行 source etc/profile 时,提示没有这个文件目录
你写绝对路径,不要写相对路径试试?
jenkins 执行 shell 的用户和你直接本地启动 shell 的用户并不是同一个。
写绝对路径已解决 谢谢