Передача локальной переменной в пакет с помощью returnStdout в конвейере jenkins - PullRequest
0 голосов
/ 13 февраля 2019

Когда я пытаюсь заменить переменную date_append в пакетной команде, как показано ниже, она не получает точную дату, вместо этого она показывает как снимок - $ {date_append} .onp

где точная проблема?

 stage('test') {
        steps {
                script
                {
                    date_append= "${new Date().format('yyyyMMdd_hhmmss')}"
                    echo "${date_append}"

                    issue=bat(label: '', returnStdout: true, script: '''echo off
             "C:\\Desktop\\eme.exe" /v 
         /source:SYS/dbname@localhost:port/env{test} AS SYSDBA 
        /target:C:\\desktop\\file-${date_append}.xml{test}  
       /scriptfile:C:\\script\\oldscript.sql
        @IF  %ERRORLEVEL% NEQ 61 (
   @echo "issue is FALSE"
  )''')
              }     
           }
       }

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Это сработало для меня !!!

  issue=bat(label: '', returnStdout: true, script: """echo off
         "C:\\Desktop\\eme.exe" /v
     /source:SYS/dbname@localhost:port/env{test} AS SYSDBA
    /target:C:\\desktop\\file-${date_append}.xml{test}
   /scriptfile:C:\\script\\oldscript.sql
    IF  %ERRORLEVEL% NEQ 61 (
   echo \"issue is FALSE\"
  )""")
0 голосов
/ 14 февраля 2019

Чтобы использовать переменную внутри сценария оболочки в goovy, вам нужно использовать GStrings, который равен " вместо '

Так что вашему коду просто нужно поменять местами использование ''' для """ и либо избежите вашего текущего использования ", либо поменяйте их местами на ', (ниже я обменивал и избежал ваших двойных кавычек в качестве примера):

issue=bat(label: '', returnStdout: true, script: """echo off
             'C:\\Desktop\\eme.exe' /v
         /source:SYS/dbname@localhost:port/env{test} AS SYSDBA
        /target:C:\\desktop\\file-${date_append}.xml{test}
       /scriptfile:C:\\script\\oldscript.sql
        @IF  %ERRORLEVEL% NEQ 61 (
   @echo \"issue is FALSE\"
  )""")

Для получения дополнительной информации о GStrings см.: http://groovy -lang.org / syntax.html # _gstring_and_string_hashcodes

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