gpt4 book ai didi

JENKINS_HOME 环境变量用于 2 个相互冲突的目的

转载 作者:行者123 更新时间:2023-12-04 16:49:58 25 4
gpt4 key购买 nike

看起来 Jenkins 将环境变量 $JENKINS_HOME 用于两个不同的目的,并且对于每个目的它将获得不同的值。

目的#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 内部;所以在这种情况下不是 Jenkins 使用 $JENKINS_HOME 值并且没有冲突。不过,他们本可以为变量选择一个更好的名称。

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

关于JENKINS_HOME 环境变量用于 2 个相互冲突的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com