jenkins 管道中存在的文件无法与 ${variant} 一起使用
fileExists in jenkins pipeline not working with ${variant}
在詹金斯管道中
变体从作业配置中读取为
variant = job_config['variant']
变体可以是 'abc' 或 'xyz',具体取决于在作业配置中输入的内容。
if(fileExists('tmp/build/${variant}/bin/Test.xml'))
{
echo "Test.xml exists"
}
else
{
echo "Test.xml doesnot exists"
}
让我们假设变体在作业配置中作为 'abc' 给出。
尽管'tmp/build/abc/bin/Test.xml'真实存在,
在 jenkins 构建期间,条件检查文件存在 'tmp/build/${variant}/bin/Test.xml 被读取即,${variant} 在条件检查期间未被 abc 替换。
有人可以帮助您缓解这种情况吗?谢谢!
您可能需要在路径中使用双引号而不是单引号:
if(fileExists("tmp/build/${variant}/bin/Test.xml"))
以便变量被其值替换。
Jenkins 管道是用 groovy 编写的,因此您可以在 this question and in the official groovy documentation.
中的 groovy 中找到有关单引号和双引号之间区别的更多信息
在詹金斯管道中
变体从作业配置中读取为
variant = job_config['variant']
变体可以是 'abc' 或 'xyz',具体取决于在作业配置中输入的内容。
if(fileExists('tmp/build/${variant}/bin/Test.xml'))
{
echo "Test.xml exists"
}
else
{
echo "Test.xml doesnot exists"
}
让我们假设变体在作业配置中作为 'abc' 给出。 尽管'tmp/build/abc/bin/Test.xml'真实存在,
在 jenkins 构建期间,条件检查文件存在 'tmp/build/${variant}/bin/Test.xml 被读取即,${variant} 在条件检查期间未被 abc 替换。
有人可以帮助您缓解这种情况吗?谢谢!
您可能需要在路径中使用双引号而不是单引号:
if(fileExists("tmp/build/${variant}/bin/Test.xml"))
以便变量被其值替换。
Jenkins 管道是用 groovy 编写的,因此您可以在 this question and in the official groovy documentation.
中的 groovy 中找到有关单引号和双引号之间区别的更多信息