我们知道有一个名为JENKINS_HOME的环境变量,所以我们可以在任何地方使用它作为$ JENKINS_HOME。 但是现在当我在从属节点上运行项目时,我需要在从属节点上使用jenkins的主目录(在定义从属节点时将其命名为“远程FS根”)作为变量。我发现$ JENKINS_HOME总是成为主节点上jenkins的主目录,即使我在slave节点上运行项目。
任何人都可以提供帮助?谢谢!
答案 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")