我有一个Jenkinsfile,我想在其中声明一些变量以供以后在其他部分中使用。我知道Jenkins使用Groovy语法规则进行变量扩展,但是我希望某些变量值可以完全解析。相反,我发现他们只是解决了一个问题。下面包含的代码显示了我想要的内容:尝试使用$ PATHTOFILES变量链接在先前阶段为Docker容器下载/生成的数据。而是将变量解析为pwd
。
到目前为止,我尝试了几种尝试来扩展我需要的值的方法,但是没有成功。
agent none
environment {
...
PATHTOFILES = "`pwd`"
...
}
...
stage('Unit'){
agent {
docker {
image "${DOCKERIMAGEURI}"
args '-v $PATHTOFILES:$CONTAINER_DATA_PATH'
}
}
}
Logs show that a value '-v `pwd`:/some/valid/path' is used as argument, leading to an error. Any ideas?
答案 0 :(得分:0)
获取当前工作空间的操作有误。以下3种方法之一应该起作用:
1) use shell cmd: pwd and pipeline step: sh() together
PATHTOFILES = sh(script: 'pwd', returnStdout:true).trim()
2) use pipeline step: pwd()
PATHTOFILES = pwd()
3) use environment variable: WORKSPACE
PATHTOFILES = env.WORKSPACE