Jenkins 将输入分配给环境变量

所罗门

试图从 1 个阶段分配用户输入以在另一个阶段使用,想用 env 变量来做,但无法弄清楚

到目前为止的代码:

environment {
    access_key =''
}
stages {
        stage('User input for Auth'){
            input {
                message 'enter access_key'
                parameters {
                    string 'access_key_input'
                    string 'secret_key_input'
                }
            }
            environment {
                access_key = sh(script:"echo ${access_key_input}", returnStdout: true).trim()
            }
            steps{
                sh "echo ${env.access_key}"
            }
        }
        stage("Build") {
            steps { 
                sh "echo ${env.access_key}"
               }
       }
}

日志:

+ echo XXX

+ echo XXX
XXX

+ echo null
null
普拉文·普雷马拉特

您可以将 分配input给一个全局变量,然后随时随地访问它。

def INPUT_PARAMS = null

pipeline {
    agent {
        node {
            label 'any'
        }
    }

    options {
        timestamps()
    }

    stages {
        stage('User input for Auth') {
            steps{
                script {
                    INPUT_PARAMS = input message: "enter access_key", parameters: [
                            string(description: 'Access key', defaultValue: '', name: 'access_key_input'),
                            string(description: 'Secret access key', defaultValue: '', name: 'secret_key_input') 
                        ]
                }
                sh "echo ${INPUT_PARAMS.access_key_input}"
            }
        }

        stage("Build") {
            steps { 
                sh "echo ${INPUT_PARAMS.access_key_input}"
            }
        }
    }
}

输入请求

要求输入

输出

Started by user Praveen Premaratne
Replayed #152
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on devops-jenkins in /home/jenkins/workspace/Test
[Pipeline] {
[Pipeline] timestamps
[Pipeline] {
[Pipeline] stage
[Pipeline] { (User input for Auth)
[Pipeline] script
[Pipeline] {
[Pipeline] input
[2021-07-15T22:35:33.625Z] Input requested
[2021-07-15T22:35:43.540Z] Approved by Praveen Premaratne
[Pipeline] }
[Pipeline] // script
[Pipeline] sh
[2021-07-15T22:35:43.886Z] + echo a
[2021-07-15T22:35:43.886Z] a
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Build)
[Pipeline] sh
[2021-07-15T22:35:44.230Z] + echo a
[2021-07-15T22:35:44.230Z] a
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // timestamps
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章