jenkinsfile参数名称在运行时解析

我在jenkinsfile中有以下阶段,其中参数名称是从for循环“ i”值派生的: 如何在运行时内插在运行时导出的参数值

stage ('Create new part'){
          steps {
             script{
                 sh "mkdir ${WORKSPACE}/inventories && touch ${WORKSPACE}/inventories/hosts"
                  for (i in (["db","pr","pl","ad","lo","log","jm","se","fo","me","he"]) ) {
                       if ("${params."'$i'_instances"}" == "3" && "${params."'$i'_disksize"}" > "80") {
                          sh "echo 'Entered if loop'" 
                          sh "echo '['$i'-servers]'>> ${WORKSPACE}/inventories/hosts"
                          for (j=1; j<=params.$i_instances; j++) {
                              sh "echo '${params.project_name}-${params.environment_name}-${$i_prefix}-$j target_fs="${params.$i_FS_TYPE}" percentage_fs="{params.$i_fs_percentage}"' >> ${WORKSPACE}/inventories/hosts"
                            }
                         }   
                   }
                }
            }
          }

xiaohou0604 回答:jenkinsfile参数名称在运行时解析

Groovy GString周围的单引号可防止插值。请改用if (params."${i}_instances" == "3" && params."${i}_disksize" != "80")

本文链接:https://www.f2er.com/3149279.html

大家都在问