小编Die*_*uin的帖子

如何将数组分配给 Jenkinsfile 中的 Env 变量

我正在尝试运行具有多台服务器的管道。选择选择参数时,我想一次在多个服务器中执行一些操作。我的想法是选择一个选择参数“APPLICATION”并在 4 个不同的服务器上依次执行一些操作(一次一个服务器)。我试图将环境变量分配给一个数组中的服务器的值,然后请求环境变量来执行操作。

pipeline {
    agent {
        node {
            label 'master'
        }
    }

    environment {

        APPLICATION = ['veappprdl001','veappprdl002','veappprdl003','veappprdl004']
        ROUTER = ['verouprdl001','verouprdl002']

    }

        parameters {
        choice(name: 'SERVER_NAME', choices: ['APPLICATION','ROUTER'], description: 'Select Server to Test' )
    }

    stages {

         stage ('Application Sync') {

            steps {
                script {                                
                    
                        if (env.SERVER_NAME == 'APPLICATION') { 
    
                
                sh """

                    curl --location --request GET 'http://${SERVER_NAME}//configuration-api/localMemory/update/ACTION'

                """
                        }
                }
            }
         }
    } }
Run Code Online (Sandbox Code Playgroud)

如果在“带参数的构建”中选择了“应用程序”参数,我想在“应用程序”变量的所有服务器上执行操作。

任何帮助将不胜感激。

谢谢

jenkins jenkins-groovy jenkins-pipeline

3
推荐指数
1
解决办法
1937
查看次数

标签 统计

jenkins ×1

jenkins-groovy ×1

jenkins-pipeline ×1