【问题标题】:JENKINS_HOME environment variable used for 2 conflicting purposesJENKINS_HOME 环境变量用于 2 个相互冲突的目的
【发布时间】:2014-02-17 01:44:47
【问题描述】:

Jenkins 似乎将环境变量 $JENKINS_HOME 用于 2 个不同的目的,并且对于每个目的,它都会获得不同的值。

目的#1:首先,JENKINS_HOME 是本地文件系统上的一个目录,用于存储 Jenkins 创建的文件。 Jenkins 使用这个目录作为磁盘空间来执行构建和保存存档。所以样本值可能是:

export JENKINS_HOME=/var/jenkins

这里描述了这个目的:

目的#2: 还有一个 Jenkins 使用 JENKINS_HOME 环境变量的例子,那就是监控外部作业。但是这次 JENKINS_HOME 是一个 URL,像这样:

export JENKINS_HOME=http://user:pw@myserver.acme.org/path/to/jenkins/

这里描述了这个目的:

所以 Jenkins 使用相同的环境变量似乎很奇怪,但它的值会根据目的而改变。我认为外部作业会为环境变量使用另一个名称,例如 JENKINS_URL。我想作为一种解决方法,我可以只在 Servlet 容器(对我来说是 Tomcat)中设置环境变量,而不是在操作系统上,所以没有冲突。尽管如此,变量的这种冲突首先存在的事实似乎很奇怪。有什么我想念的吗?

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    这很令人困惑,但第二个目的是在外部进程中监控 Jenkins 作业,而不是在 Jenkins 本身内部;所以在这种情况下,不是 Jenkins 使用 $JENKINS_HOME 值并且没有冲突。不过,他们本可以为变量选择一个更好的名称。

    在大多数其他情况下,Jenkins 主 URL 称为 JENKINS_URL - 例如,请参见 Jenkins CLI documentation

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2021-09-24
      • 2022-09-24
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      相关资源
      最近更新 更多