Как выполнить условное отклонение в Jenkins на основе результатов предыдущего этапа - PullRequest
0 голосов
/ 09 сентября 2018

Ниже приведена базовая конструкция, которую я построил, чтобы представить свой вопрос.

stage('Run pre-checks') {
    steps {
        //Run pre-check scripts
    }
}
stage('Deploy config ') {
    when {
       expression {
        //Insert expression here
       }
    }
    steps {
        //Run a script
    }
}

Исходя из конструкции, приведенной ниже, я пытаюсь запустить определенный сценарий только в том случае, если на выводе этого этапа отображается конкретный вывод из сценария «Выполнить предварительные проверки», который будет сценарием Python. , Если предварительная проверка показывает этот вывод, вы пропустите второй шаг, а не выполняете его. Кто-нибудь знает переменную (-и) среды и / или методы, которые смогут это сделать?

1 Ответ

0 голосов
/ 09 сентября 2018

Команда Sh может вернуть значение вместо его печати.

MY_OUTPUT = sh (
    script: '... your command....',
    returnStdout: true
)

Тогда вы можете делать все, что вы хотите с MY_OUTPUT (trim (), substr ...)

Текущая ссылка на документацию находится здесь ( Sh shell script ):

returnStdout (необязательно)

Если этот флажок установлен, стандартный вывод задачи возвращается как значение шага в виде строки, а не выводится в журнал сборки. (Стандартная ошибка, если таковая имеется, все равно будет напечатана в журнале.) Вам часто нужно вызывать .trim () для результата, чтобы убрать завершающий символ новой строки.

Тип: логическое значение

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