Динамически генерировать задачи в скриптовом конвейере Jenkin для параллельного выполнения всегда с одним и тем же индексом - PullRequest
0 голосов
/ 30 января 2020

Я работаю по сценарию jenkins, чтобы отключить среды в наших облачных провайдерах. Поскольку среды независимы друг от друга, я хочу выполнить их параллельно.

Вот код:

def environmentsArray=["ZULI-TestCenter", "ZULI-FinanceCenter"]

node("someNode") {

def parEx = [:]

for (def item : environmentsArray) {

    def environment = item

    parEx[environment]= {

   // Identify environments

    environmentLowerCase = environment.split('-')[0].toLowerCase()
    appNameLowerCase = environment.split('-')[1].toLowerCase()

    stage("...) {
          }
    stage("...") {
          }


  } // End of parEx

 } // End of for

parallel parEx

} // End of node

К сожалению, значения environmentLowerCase и appNameLowerCase не обновляются за итерацию, т.е. они всегда имеют одинаковое значение:

[Pipeline] { (STOPPING DMS tasks: ZULI-TestCenter) // correct
[Pipeline] stage
[Pipeline] { (STOPPING DMS tasks: ZULI-FinanceCenter) // correct
[Pipeline] echo
zuli, financecenter  // wrong, should be testcenter
[Pipeline] withCredentials
[Pipeline] echo
zuli, financecenter  // correct

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...