我目前正在对 Jenkins Pipeline 插件(以前称为 Workflow 插件)进行一些评估。
阅读文档我发现我目前无法使用以下命令检索工作区路径env.WORKSPACE
:
目前,以下变量在工作流程脚本中不可用:
节点标签
工作空间
SCM 特定的变量,例如 SVN_REVISION
还有其他方法可以获取当前工作空间的绝对路径吗?我需要运行一些测试,从而获取一些参数(某些可执行文件的绝对路径)。
我已经尝试过使用new File("").absolutePath()
里面一个@NonCPS
部分,但看起来非 CPS 的东西总是在主服务器上执行。
有谁知道如何走这条路without运行一些批处理脚本,将路径存储到某个文件中,稍后可以再次读入?
从2.5版本开始管道节点和流程插件 https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Nodes+and+Processes+Plugin(Pipeline 插件的一个组件,默认安装),WORKSPACE
环境变量再次可用。该版本于 2016 年 9 月 23 日发布,因此它应该可在所有最新的 Jenkins 实例上使用。
Example
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"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)