在JENKINS中是否存在从节点home的env变量?

时间:2012-04-12 02:39:08

标签: jenkins

我们知道有一个名为JENKINS_HOME的环境变量,所以我们可以在任何地方使用它作为$ JENKINS_HOME。 但是现在当我在从属节点上运行项目时,我需要在从属节点上使用jenkins的主目录(在定义从属节点时将其命名为“远程FS根”)作为变量。我发现$ JENKINS_HOME总是成为主节点上jenkins的主目录,即使我在slave节点上运行项目。

任何人都可以提供帮助?谢谢!

3 个答案:

答案 0 :(得分:0)

如果你看到JENKINS_HOME环境变量,它只是你用来启动Jenkins master的脚本的副作用。你不能相信它总是可用的。

也许你可以解释为什么你认为你需要知道奴隶主目录?

答案 1 :(得分:0)

老问题,但似乎从未回答

该变量没有直接暴露在作业的环境中,但是您可以弄清楚...

默认情况下(即:您未设置自定义工作区)

WORKSPACE=<RemoteFS>/<JOB_NAME>
并且JOB_NAME包括文件夹(如果使用的话)。

ie:WORKSPACE=/path/to/remoteFSroot/myfolder/jobname
JOB_NAME=myfolder/jobname

您可以从那里进行操作。 但是,没有必要将数据存储在remoteFS根目录内,这甚至是一个坏主意,因为您应该能够删除所有不影响数据的工作区。只需将其存储在另一个目录(甚至是所有从属服务器共享的NFS)中,并使用完整路径进行引用。

答案 2 :(得分:0)

使用Jenkins管道插件,我检索作业运行所在的从节点的远程根目录

run.getEnvironment(listener).get("BASE")