---
title: 状态码参考
description: "在Jenkins流水线上若需要捕获扫描命令后的状态码，这里以捕获源码迁移扫描命令的状态码（devkit porting src-mig -i /home/TestData/wtdbg2-2.5 -c make -r html）为例，请根据实际情况进行修改。"
url: https://www.hikunpeng.com/document/detail/zh/nativedevp/userguide/pipeline/NativeDevelopment_0064.html
sourcePath: /source/zh/nativedevp/userguide/pipeline/NativeDevelopment_0064.html
indexId: adf16a7cbaa5871cac64693a061e7efd6ec68e2232e9a6e6e2a7111ffabe37f468
---
# 状态码参考

在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
、  表2
所示。


**表1 应用迁移命令行状态码含义**

| 状态码 | 触发情况 |
| --- | --- |
| 0 | 无扫描建议。 |
| 1 | 扫描结果只存在建议项。 |
| 2 | 扫描任务执行时，发生了Ctrl+C(SIGINT(2))。 |
| 3 | 扫描结果超时。 |
| 4 | 扫描命令错误。 |
| 5 | 扫描结果存在必须修改项。 |
| 15/20 | 扫描任务执行时，发生了Ctrl+Z SIGTERM(15)/SIGTSTP(20)。 |


**表2 亲和分析命令行状态码含义**

| 状态码 | 触发情况 |
| --- | --- |
| 0 | 无扫描建议。 |
| 2 | 扫描任务执行时，发生了Ctrl+C(SIGINT(2))。 |
| 3 | 扫描结果超时。 |
| 4 | 扫描命令错误。 |
