新手区 萌新请教个 jenkins 集成 gitlab 中的一个问题

什么派对 · 2021年11月23日 · 最后由 什么派对 回复于 2021年11月24日 · 391 次阅读

我用 Jenkins 创建了个自由项目,用来获取 gitlab 上的 json 接口脚本运行
运行方式是 node js 中的 Newman,它现在提示我未找到 Newman 命令,可是我用这些文件本地运行是正常的,请问有大佬知道这个问题如何解决吗??

共收到 5 条回复 时间 点赞

系统是 cent os 8

解决思路参考:
1、在你跑 newman 前执行 env ,确认下你的环境变量的 PATH 里有没有包含 newman 所在的路径
2、如果没有,确认下你设定 newman 环境变量的配置文件是哪个,手动用 source 对应配置文件 来手动应用,示例:source ~/.bashrc

这个问题背后的原因是 jenkins 使用的 shell 模式,和你直接本地执行的 shell 模式有差异,所以初始化时应用的配置位置也会有差异。从现象上看大概率你的 newman 配置就在有差异的这部分里。

详细可以参考: 登陆 shell,非登陆 shell 以及交互 shell 和非交互 shell

3楼 已删除
陈恒捷 回复

本地的环境变量我是通过修改 etc/profile 设置的
但是我在 jekins 执行 source etc/profile 时,提示没有这个文件目录

什么派对 回复

你写绝对路径,不要写相对路径试试?

jenkins 执行 shell 的用户和你直接本地启动 shell 的用户并不是同一个。

陈恒捷 回复

写绝对路径已解决 谢谢

什么派对 关闭了讨论 11月24日 09:30
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册