允许用户选择要部署的Green Jenkins版本



我想让测试人员/BAT用户/运维人员等有一个构建列表,从中选择他们可以部署到一个环境列表。这个列表应该只包含已经通过我们的自动化Jenkins管道的构建,环境列表将是一个预定义的列表。他们应该能够从旧的和新的构建中选择。部署作业已全部设置完毕。我想写一个简单的网页界面,通过JSON API挂钩到詹金斯,但如果有任何方法通过詹金斯这样做,那将是伟大的。

你可以这样做:

  1. CI构建将成功的工件存储在工件存储库中(即:Artifactory)
  2. Build有一个名为"BuildToDeploy"或类似的参数。这个构建参数是用动态参数插件创建的,所以它会被Artifactory的构建列表填充。
  3. 测试人员从绿色工件列表中选择构建。

为了实现步骤2作为参数的"默认值脚本",您添加了一些Groovy代码,用于从工件存储库获取工件列表。在Artifactory中,应该是这样的jfrog rt list CIBuildArtifacts

有趣的是,使用Jenkins声明式管道,您可以以非常简单的OOTB方式完成此操作。不过你得稍微改变一下思路

一般来说,对于任何你希望能够推广的管道,你都可以使用input, submit

添加一个额外的阶段。

允许提交此输入的用户或外部组名的可选逗号分隔列表。默认允许任何用户。

和参数。

pipeline {
    agent any
    stages {
        stage('Example') {
            input {
                message "Should we continue?"
                ok "Yes, we should."
                submitter "alice,bob"
                parameters {
                    choice(name: 'DEPLOYMENT_ENV', choices: ['one', 'two', 'three'], description: 'where to deploy?')
                }
            }
            steps {
                echo "Hello, ${PERSON}, nice to meet you."
            }
        }
    }
}

最新更新