Как передать два значения из списка в Groovy-функцию Jenkins с помощью цикла

Я хочу зациклить эти два списка в Jenkinsfile и получить значения с сопоставлением 1:1. Мой код работает, но я вижу повторяющиеся записи на выходе.

У меня есть следующие два списка в Jenkinsfile

app = ["app1","app2","app3"]
env = ["prod1","prod2","prod3"]

Мой файл Jenkins-

    #!/usr/bin/env groovy
    @Library(['jenkinsGlobalLibrary@master']) _
    app = ["app1","app2","app3"]
    env = ["prod1","prod2","prod3"]
    (branchType, branchName) = env.BRANCH_NAME.tokenize('/')
    
    node('java180u161-maven325-pythonanaconda352') {
    
        stage ( 'Checkout' ) {
    
            checkout scm
        }
    
        stage ('Generating list environment wise'){
             pull_from_dev(app,env)
        }
    
    def pull_from_dev(app,env) {
        sh "echo Going to echo a list"
        for (int i = 0; i < app.size(); i++) {
             for (int j = 0; j < env.size(); j++) {
            sh """
            echo "Retrieving   ${app[i]} of ${env[j]} properties "
            """   
      }  }
}

Мой вывод -

Retrieving app1 of prod1 properties 
Retrieving app1 of prod1 properties 
Retrieving app1 of prod1 properties 
Retrieving app2 of prod2 properties 
Retrieving app2 of prod2 properties 
Retrieving app2 of prod2 properties 
Retrieving app3 of prod3 properties 
Retrieving app3 of prod3 properties 
Retrieving app3 of prod3 properties 

С помощью приведенного выше кода я могу зациклить список "app" и "env", так как я зацикливаю на list.size его цикл 3*2 раза и генерируя результат. Но мне нужно всего 3 результата

Ожидаемый результат -

Retrieving app1 of prod1 properties 
Retrieving app2 of prod2 properties 
Retrieving app3 of prod3 properties 

Пожалуйста, помогите мне с этим кодом.

1 ответ

Решение

Я получил эту работу после того, как изменил функцию, как показано ниже -

def pull_from_dev(app,env) {
    sh "echo Going to echo a list"
        for (int i=0; i < app.size(); i++) {
        sh """
        echo "Retrieving  ${app[i]} of ${env[i]} properties "
          """ 
   }
}
Другие вопросы по тегам