Получить вывод / состояние переменной из пакетного файла в конвейер jenkins - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь получить вывод / состояние переменной, доступной в bat, для конвейера jenkins, установив переменную env изначально как true.

Я ожидаю, что это основано на значении переменной, назначенной внутри bat(т. е. status=false), следующий этап не может быть выполнен, поскольку, когда выражение задано на этом этапе:

pipeline {
    agent any
    environment{
        STATUS='TRUE'
    }
    stages {
        stage('test1') {

            steps {
                bat '''set status=FALSE 
echo %status%'''   
                echo "$status" 
            }

        }
       stage('test2') {
            when{
               environment name: 'STATUS', value: 'TRUE' 
                }
            steps {
                input message: 'Push', ok: 'GO!!'
            }
        }
    }
}

Вывод, который я сейчас получаю, равен o/p: false длявыполнение летучей мыши и следующий шаг обеспечивает вывод как true.

1 Ответ

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

echo "$status" находится в конвейере, где в качестве среды STATUS изменения выполняются на узле.AFAIK, это не будет отражено в самом конвейере.

То, что вы можете сделать, это использовать returnStdout: true и поддерживать это переменное состояние в конвейере

def script = '''set status=FALSE 
    echo %status%'''   

def status = bat(script: script, returnStdout: true)
echo "$status" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...