【发布时间】:2014-02-17 01:44:47
【问题描述】:
Jenkins 似乎将环境变量 $JENKINS_HOME 用于 2 个不同的目的,并且对于每个目的,它都会获得不同的值。
目的#1:首先,JENKINS_HOME 是本地文件系统上的一个目录,用于存储 Jenkins 创建的文件。 Jenkins 使用这个目录作为磁盘空间来执行构建和保存存档。所以样本值可能是:
export JENKINS_HOME=/var/jenkins
这里描述了这个目的:
- https://wiki.jenkins-ci.org/display/JENKINS/Tomcat
- https://wiki.jenkins-ci.org/display/JENKINS/Administering+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)中设置环境变量,而不是在操作系统上,所以没有冲突。尽管如此,变量的这种冲突首先存在的事实似乎很奇怪。有什么我想念的吗?
【问题讨论】: