Я читаю файл сценария оболочки /tmp/cmd_list.sh со скриптом groove и создаю динамический этап для сборки.
Содержимое файла /tmp/cmd_list.sh:
ls
pwd
aaaaaa
who
Только «aaaaaa» mut не выполняется (код выхода 127).Моя проблема в том, что все этапы помечены как неудачные, но когда я вижу журнал, такие команды, как "ls", "pwd" и "who" работают нормально, а код возврата равен 0.
Я пыталсяfoce stage status для box, но безуспешно ... Мой сценарий Groove (Jenkinsfile):
import hudson.model.Result
node('master') {
stage ('\u27A1 Checkout'){
sh "echo 'checkout ok'"
}
def BUILD_LIST = readFile('/tmp/cmd_list.sh').split()
for (CMDRUN in BUILD_LIST) {
def status;
try {
node{
stage(CMDRUN) {
println "Building ..."
status = sh(returnStatus: true, script: CMDRUN )
println "---> EX CODE: "+ status
if(status == 0){
currentBuild.result = 'SUCCESS'
currentBuild.rawBuild.@result = hudson.model.Result.SUCCESS
}
else{
currentBuild.result = 'UNSTABLE'
currentBuild.rawBuild.@result = hudson.model.Result.UNSTABLE
}
def e2e = build job:CMDRUN, propagate: false
}
}
}
catch (e) {
println "===> " + e
currentBuild.result = 'UNSTABLE'
println "++++> EX CODE: "+ status
if(status == 0){
println "++++> NEW STATUS: "+ status
currentBuild.rawBuild.@result = hudson.model.Result.SUCCESS
currentBuild.result = 'SUCCESS'
}
else{
println "++++> NEW STATUS: "+ status
currentBuild.rawBuild.@result = hudson.model.Result.UNSTABLE
}
}
}
}
И результат: Список сбоев этапа Любой может помочь мне показать правильный статус?Спасибо!