在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