首页 文章

在jenkins master中修改PATH变量

提问于
浏览
28

我正在尝试修改jenkins主节点中的PATH(我没有奴隶) . 从“全局属性 - >环境变量”我添加了两个条目:“PATH”,其值为“$ PATH:/ opt / foo”和“FOO”值“BAR” . 现在,当我运行我的自由样式作业时,执行shell构建步骤为“echo $ PATH; echo $ FOO”,我看到PATH未被修改,因此FOO正确显示 . 这是为什么?有没有办法从jenkins全局配置修改PATH?我设法通过EnvInject插件修改作业级别的PATH,但我真正想要的是修改所有作业的PATH .

4 回答

  • 42

    你做得对 . 相同的Manage Jenkins => Global Properties => Environment变量适合我 .

    请注意,如果安装了EnvInject插件,它似乎会掩盖Jenkins全局配置中的环境变量 . 所以卸载EnvInject然后再试一次 .

  • 2

    Jenkins还支持将格式 PATH+<name> 添加到任何变量,而不仅仅是PATH:

    Jenkins variable + notation

    管道步骤 withEnv 也支持此功能:

    node {
      withEnv(['PATH+JAVA=/path/to/java/bin']) {
        ...
      }
    }
    

    请注意,它适用于变量 . 如果必须附加,则需要执行其他答案显示的操作 .

    请参阅管道步骤文档here .

    你也可以使用语法PATH WHATEVER = / something来/ $ to $ PATH

    或者EnvVars上的java文档here .

  • 2

    通过Jenkins(Manage Jenkins => Global Properties => Environment variables)附加到PATH变量时,请使用“Path”,而不是“PATH”作为变量名称 .

  • 3

    我遇到了同样的问题,因为我的wsimport命令没有被Jenkins主人接收 . 这是Java附带的,所以我拒绝将JAVA_HOME / bin附加到jenkins master中的PATH变量 .

    环境名称应为Path而不是PATH . 请参阅附图,我已经将JAVA_HOME / bin告知了PATH变量
    enter image description here

相关问题