我使用“自由样式项目”来构建我的项目。 我选择“此项目已参数化”并定义“选择参数”。 Project choice parameter
然后,我用${Project}
build参数定义具有字符串匹配条件的构建步骤。
内部版本在以下控制台输出中显示错误:
运行条件[strings match]启用步骤[BuilderChain]的预构建 异常捕获到评估条件:[org.jenkinsci.plugins.tokenmacro.MacroEvaluationException:'$ {Project}'中无法识别的宏'Project'],操作= [失败]
如何将构建参数与逻辑构建条件一起使用。
答案 0 :(得分:0)
请确保它与此Other question
无关否则,您可以使用插件Conditional Build Step plugin来比较您的参数是否匹配字符串,并且与${Project}
一起使用时,它应该可以正常工作。
如果您在另一种构建步骤(例如“执行外壳命令”或“在Windows上执行外壳命令”)上使用参数,请在* nix系统上使用${Project}
,对于Windows系统使用%Project%
另一种(有效的)获取构建参数并将其与字符串进行比较(如果您使用的是管道)的方法:
pipeline {
agent any
parameters{
choice(
choices: 'PROJECT_1\nPROJECT_2',
description: 'Select the project',
name: 'Project')
}
stages {
stage ('Test stage') {
when {
expression { params.Project == 'PROJECT_1' }
}
steps {
echo "IT IS PROJECT 1"
}
}
}
}