Дженкинс работает над настройкой конвейера Windows и печатает переменную - PullRequest
0 голосов
/ 27 мая 2018

способ установки переменной с конкатенацией параметров задания и эхом не работает.Параметр задания - это rp, то есть «WEB_SERVICE». Я имел комбинации печати переменной commandPRM с двойными кавычками, одинарными кавычками и т. Д., Но не работал.Я хотел бы запустить команду dir WEB_SERVICE и в соответствии с результатом удалить папку из рабочей области.Проблемы с установкой и печатью определяемой пользователем переменной.

мой фрагмент конвейера похож на это

script {
            bat 'echo %rp%'
                    def  commandPRM='%rp%'
                    bat 'echo variable 1'
                    script {
                    bat 'echo variable 2'
                            bat("echo %commandPRM%")
                    }
                    commandPRM='dir '+commandPRM + ' /s /q'
                        script {
                            bat 'echo variable 3'
                            bat("echo %commandPRM%")
                            bat 'echo variable 4'
                            bat('echo %commandPRM%')


                        }   
                              bat(script: 'commandPRM ; echo $? > status')

                        println 'Performing print action...1'



                        def r = readFile('status').trim()
                        println r 
                        println 'Performing print action...2'




                        if (r==0 ) {
                            println 'Performing some action...3'
                            bat('rmdir '+ '%rp%' + ' /s /q')

                        }
}

, а результат ниже

    [Pipeline] {
    [Pipeline] stage
    [Pipeline] { (CleanWS)
    [Pipeline] script
    [Pipeline] {
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo WEB_SERVICE 
    WEB_SERVICE
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo variable 1 
    variable 1
    [Pipeline] script
    [Pipeline] {
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo variable 2 
    variable 2
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo  
    ECHO is on.
    [Pipeline] }
    [Pipeline] // script
    [Pipeline] script
    [Pipeline] {
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo variable 3 
    variable 3
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo  
    ECHO is on.
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo variable 4 
    variable 4
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>echo  
    ECHO is on.
    [Pipeline] }
    [Pipeline] // script
    [Pipeline] bat
    [PRA_4_NET_WINDOWS] Running batch script

    C:\HudSlvNEW\workspace\PRA_4_NET_WINDOWS>commandPRM ; echo $?  1>status 
    'commandPRM' is not recognized as an internal or external command,
    operable program or batch file.
    [Pipeline] }
    [Pipeline] // script
    [Pipeline] }
    [Pipeline] // stage

1 Ответ

0 голосов
/ 28 мая 2018

Поскольку commandPRM - это переменная типа groovy, нет необходимости размещать ее в процентах.Так работало

bat ("echo" + commandPRM)

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