需要帮助建立詹金斯的管道。运行测试和并行收集日志是必要的,这是可行的,但是现在还有另一个问题,日志的收集还没有完成。也许有一些方法,在另一个任务完成后,如何停止一项任务?
stage('Smoke Run') {
steps {
parallel(
first: {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh '$PYTHON -m pytest --testit android_tv/tests/smoke_run/ --clean-alluredir --alluredir=/Users/jenkins/allure-report/android-tv'
}
},
second: {
sh "$ADB logcat -c"
sh "$ADB logcat -> ~/jenkins/workspace/Android_TV_Smoke_Run/android_tv/tests/smoke_run/logs_tv/log.log"
}
)
}
}发布于 2022-08-22 11:28:19
找到解决办法
steps {
script {
stop = false
parallel(
first: {
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
sh '''
set +e
$PYTHON -m pytest --testit android_tv/tests/smoke_run/ --clean-alluredir --alluredir=/Users/jenkins/allure-report/android-tv
set -e
'''.stripIndent()
stop = true
}
},
second: {
while (!stop){
sleep 10
}
sh '''pgrep adb logcat | xargs kill'''
sh '''echo "Finish writing logs"'''
}
)
}
}
}```https://stackoverflow.com/questions/73399229
复制相似问题