Я использую файл Jenkinsefile для запуска этапов. Он находится в конвейере Jenkins, установленном в windows, Декларативный конвейер.
В начале я делаю:
pipeline {
agent { label 'master'}
environment {
My_build_result = 7
}
....
Than
stage('Test') {
steps {
echo 'Testing..'
bat """
cd Utils
"C:\\Program Files\\MATLAB\\R2019b\\bin\\matlab.exe" -wait -nodisplay -nosplash -nodesktop -r "run('automatic_tests\\run_test.m');"
echo %errorlevel%
set /a My_build_result_temp = %errorlevel%
set My_build_result = %My_build_result_temp%
"""
script {
My_build_result = bat(returnStatus:true , script: "exit (2)").trim()
echo "My_build_result ${env.My_build_result}"
if (My_build_result != 0) {
echo "inside if"
}
}
}
}
Переменная My_build_result получает значение 7 в начале Внутри секции летучей мыши она предположим, чтобы получить значение 0 из% errorlevel% Внутри раздела скрипта предполагается получить значение 2 НО в эхо-запросе "My_build_result $ {env.My_build_result}" Я получаю печать 7 (и она идет внутри предложения if)
Как определить переменную, для которой можно задать значение в разделе "bat" "" "" "и" script "" "" "" этапа, а также ознакомиться с другими этапами и в посте {всегда {..} } в конце ???
Кстати: добавить env.before My_build_result (env.My_build_result) не работает Спасибо большое