如何从输入步骤读取选择并将其用作 Jenkins 中的环境变量

问题描述 投票:0回答:1

我想添加一个选择参数,供用户选择要部署的版本。

类似这样的事情

stage('User Input') {
    steps {
        input message: 'User input required', ok: 'Release!',
            parameters: [choice(name: 'RELEASE_SCOPE', choices: '2.1\n2.2\n2.3', description: 'What is the release scope?')]
        echo "env: ${env.RELEASE_SCOPE}"
        echo "params: ${params.RELEASE_SCOPE}"
    }

该选择应填充到 docker-compose 文件中。

services:
    bo:
        image: docker-new.tinder.net/bo:{params.RELEASE_SCOPE}

这对我不起作用。我应该将该参数转换为环境变量吗?

jenkins docker-compose jenkins-pipeline
1个回答
0
投票

根据 docs

input
步骤返回用户输入的值:

要求提交者在批准时指定一个或多个参数值。如果仅列出一个参数,则其值将成为输入步骤的值。如果列出多个参数,则返回值将是一个由参数名称作为键的映射。

stage('User Input') {
    steps {
        script {
            def RELEASE_SCOPE = input message: 'User input required', ok: 'Release!',
                parameters: [choice(name: 'RELEASE_SCOPE', choices: '2.1\n2.2\n2.3', description: 'What is the release scope?')]
            echo "Return value: ${RELEASE_SCOPE}"
            env.RELEASE_SCOPE = RELEASE_SCOPE
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.