8

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

任何人都可以帮忙吗?谢谢!

4

3 回答 3

2

老问题,但似乎从未回答

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

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

WORKSPACE=<RemoteFS>/<JOB_NAME>
JOB_NAME包括文件夹(如果您使用它们)。

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

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

于 2019-06-14T18:55:34.033 回答
0

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

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

于 2012-04-12T19:09:05.747 回答
0

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

run.getEnvironment(listener).get("BASE")
于 2019-06-24T18:32:46.943 回答