在Jenkins Pipeline插件中获取工作区目录的绝对路径

我目前正在对Jenkins

Pipeline插件(以前称为Workflow插件)进行一些评估。阅读文档后,我发现当前无法使用env.WORKSPACE以下方法检索工作空间路径 :

以下变量当前在工作流脚本中不可用:

NODE_LABELS

工作空间

特定于SCM的变量,例如SVN_REVISION

还有其他方法如何获取当前工作空间的绝对路径吗?我需要运行一些测试,该测试又得到一些参数(某些可执行文件的绝对路径)。我已经new

File("").absolutePath()@NonCPS部分中尝试使用,但看起来非CPS的东西总是在主服务器上执行。

是否有人知道如何在 运行一些将路径存储到某个文件中的批处理脚本的 情况下 获取此路径的信息,以后可以再次读取该文件?

回答:

由于管道节点和进程插件的版本2.5(管道插件的组件,默认情况下已安装),因此WORKSPACE环境变量再次可用。该版本发布于2016-09-23,因此应该在所有最新的Jenkins实例上可用。

node('label'){

// now you are on slave labeled with 'label'

def workspace = WORKSPACE

// ${workspace} will now contain an absolute path to job workspace on slave

workspace = env.WORKSPACE

// ${workspace} will still contain an absolute path to job workspace on slave

// When using a GString at least later Jenkins versions could only handle the env.WORKSPACE variant:

echo "Current workspace is ${env.WORKSPACE}"

// the current Jenkins instances will support the short syntax, too:

echo "Current workspace is $WORKSPACE"

}

以上是 在Jenkins Pipeline插件中获取工作区目录的绝对路径 的全部内容, 来源链接: utcz.com/qa/433035.html

回到顶部