鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

源码迁移命令行状态码参考

在Jenkins流水线上若需要捕获扫描命令后的状态码,例如需要捕获源码迁移扫描命令的状态码(devkit porting src-mig -i ./wtdbg2 -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 ./wtdbg2 -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所示。

表1 命令行状态码含义

状态码

触发情况

0

无扫描建议。

1

扫描结果只存在建议项。

2

扫描任务出现Ctrl+C(SIGINT(2))。

3

扫描结果超时。

4

扫描命令错误。

5

扫描结果存在必须修改项。

15/20

扫描任务出现Ctrl+Z SIGTERM(15)/SIGTSTP(20)。