Jenkins-向构建添加动态标签

时间:2018-11-27 07:29:15

标签: jenkins build label

我正在尝试在詹金斯(Jenkins)中完成以下任务: 1)建立一个Maven项目 2)运行测试用例时,我将某些消息打印到控制台输出 3)解析构建的控制台输出,并确定输出中是否存在某些模式 4)如果存在模式,我想用特定的字符串标记构建

我已完成步骤1-3。我无法创建动态标签并将其绑定到构建。我有一个Groovy脚本,可以解析控制台输出并确定构建输出中是否存在该模式。

Bamboo提供此功能来根据构建控制台输出中存在的正则表达式标记构建。 链接-https://confluence.atlassian.com/bamboo0606/using-bamboo/jobs-and-tasks/configuring-jobs/configuring-miscellaneous-settings-for-a-job/configuring-automatic-labeling-of-job-build-results

我已经研究过各种现有的Jenkins插件,但未能成功实现此功能。是否有实现此功能的插件,或者可以在Groovy脚本中添加其他行以创建动态构建标签。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

您可以使用if设置座席:

def AGENT_LABEL = null

node('master') {
  stage('Checkout and set agent'){
     checkout scm
     ### Or just use any other approach to figure out agent label: read file, etc
     if (env.BRANCH_NAME == 'master') {
        AGENT_LABEL = "prod"
     } else {
        AGENT_LABEL = "dev"
     }
   }
}

pipeline {
    agent {
       label "${AGENT_LABEL}"
    }