在jenkins的构建步骤中使用构建变量

时间:2018-08-20 06:19:23

标签: jenkins devops

我使用“自由样式项目”来构建我的项目。 我选择“此项目已参数化”并定义“选择参数”。 Project choice parameter

然后,我用${Project} build参数定义具有字符串匹配条件的构建步骤。

内部版本在以下控制台输出中显示错误:

  

运行条件[strings match]启用步骤[BuilderChain]的预构建   异常捕获到评估条件:[org.jenkinsci.plugins.tokenmacro.MacroEvaluationException:'$ {Project}'中无法识别的宏'Project'],操作= [失败]

如何将构建参数与逻辑构建条件一起使用。

1 个答案:

答案 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"
          }
      }
  }
}