我目前正在对Jenkins Pipeline插件(以前称为Workflow插件)进行一些评估。阅读文档后,我发现当前无法使用env.WORKSPACE以下方法检索工作空间路径 :
env.WORKSPACE
以下变量当前在工作流脚本中不可用: NODE_LABELS 工作空间 特定于SCM的变量,例如SVN_REVISION
以下变量当前在工作流脚本中不可用:
NODE_LABELS
工作空间
特定于SCM的变量,例如SVN_REVISION
还有其他方法如何获取当前工作空间的绝对路径吗?我需要运行一些测试,该测试又得到一些参数(某些可执行文件的绝对路径)。我已经new File("").absolutePath()在@NonCPS部分中尝试使用,但看起来非CPS的东西总是在主服务器上执行。
new File("").absolutePath()
@NonCPS
是否有人知道如何在 不 运行一些将路径存储到某个文件中的批处理脚本的 情况下 获取此路径的信息,以后可以再次读取该文件?
由于管道节点和进程插件的版本2.5(管道插件的组件,默认情况下已安装),因此WORKSPACE环境变量再次可用。该版本发布于2016-09-23,因此应该在所有最新的Jenkins实例上可用。
WORKSPACE
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" }