源码迁移命令行状态码参考
在Jenkins流水线上若需要捕获扫描命令后的状态码,例如需要捕获源码迁移扫描命令的状态码(devkit porting src-mig -i /home/TestData/wtdbg2-2.5 -c make -r html),请使用以下代码示例。
pipeline {
agent any
options {
timeout(time: 1, unit: 'HOURS')
}
stages{
stage('PARALLEL BUILD') {
agent {
label 'kunpeng_scanner'
}
steps{
script{
def STATUS_CODE = sh(returnStatus: true, script: 'devkit porting src-mig -i /home/TestData/wtdbg2-2.5 -c make -r html')
switch(STATUS_CODE) {
case 0:
currentBuild.result = 'SUCCESS' # 自定义流水线的最终结果
echo '【源码迁移】--> 无扫描建议 <--'
break
case 1:
currentBuild.result = 'UNSTABLE'
echo '【源码迁移】--> 扫描结果仅存在建议项 <--'
break
case 5:
currentBuild.result = 'FAILURE'
echo '【源码迁移】--> 扫描结果存在必须修改项 <--'
break
case 3:
currentBuild.result = 'ABORTED'
echo '【源码迁移】--> 扫描结果超时 <--'
break
case 4:
currentBuild.result = 'ABORTED'
echo '【源码迁移】--> 扫描命令错误 <--'
break
default:
currentBuild.result = 'ABORTED'
echo '【源码迁移】--> 异常终断开{Ctrl + C | Ctrl + Z} <--'
break
}
}
}
post{
success{
echo '--> ✔ <--'
}
failure{
echo '--> ❌ <--'
}
unstable{
echo '--> ⚠ <--'
}
}
}
}
}
其命令行返回值如表1所示。
状态码 |
触发情况 |
|---|---|
0 |
无扫描建议。 |
1 |
扫描结果只存在建议项。 |
2 |
扫描任务出现Ctrl+C(SIGINT(2))。 |
3 |
扫描结果超时。 |
4 |
扫描命令错误。 |
5 |
扫描结果存在必须修改项。 |
15/20 |
扫描任务出现Ctrl+Z SIGTERM(15)/SIGTSTP(20)。 |
若流水线状态为失败,查看日志输出提示源码迁移扫描结果存在必须修改项,说明此源码若需要迁移到鲲鹏平台上,需要进行相应修改,因此会将流水线状态置为失败。
父主题: 源码迁移