【问题标题】:How can I return parameters in Jenkins pipeline based upon the job name?如何根据作业名称在 Jenkins 管道中返回参数?
【发布时间】:2019-10-23 16:15:44
【问题描述】:

我有两个 Jenkins 管道 (a)deploy 和 (b)test_deploy。我想从 一个 Jenkinsfile 运行这两个管道,因为它们的功能是相同的。

  • deploy 管道在所有非测试环境中运行
  • test_deploy 管道将仅在 test 环境中运行

我只想将测试环境显示为test_deploy 管道中的参数。 我想在选择参数上添加类似 if/else 的条件,这些条件将根据作业名称在参数中返回环境名称。 如何根据作业名称来条件选择/参数?

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    您可以在 Jenkinsfile 的顶部添加此内容:

    if (JOB_NAME == 'deploy') {
        properties([
            parameters([
                choice(name: 'deployEnv', choices: ['deployEnv1', 'deployEnv2'], description: '')
            ])
        ])
    } else if (JOB_NAME == 'test_deploy') {
        properties([
            parameters([
                choice(name: 'testEnv', choices: ['testEnv1', 'testEnv2'], description: '')
            ])
        ])
    }
    

    这适用于声明式和脚本化管道,并根据作业名称填充选择参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多