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

Jenkins流水线示例代码

示例代码如下:

stage('source-code-migration') { 
              steps { 
                echo '====== 源码迁移 ======' 
                sh '''
                    if [ ! -d "./report_dir" ]; then mkdir -p ./report_dir; fi
                    /usr/bin/rm -rf ./report_dir/*.html
                '''
                script{
                  def SRC_MIG_STATUS_CODE = sh(returnStatus: true,
                                              script: 'devkit porting src-mig -i /home/TestData/wtdbg2-2.5 -c make -r html -o ./report_dir')
                  switch(SRC_MIG_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
                  }
                }
                sh 'mv ./report_dir/src-mig*.html ./report_dir/SourceCodeScanningReport.html' 
              } 
              post { 
                always { 
                  publishHTML(target: [allowMissing: false, 
                              alwaysLinkToLastBuild: false, 
                              keepAll              : true, 
                              reportDir            : './report_dir', 
                              reportFiles          : 'SourceCodeScanningReport.html', 
                              reportName           : 'Source Code Scanning Report'] 
                              ) 
                } 
              } 
            }
  • 使用源码迁移功能时,若是源码文件建议放到构建流程节点前,若是扫描软件包建议放在构建流程节点后。
  • “/home/TestData/wtdbg2-2.5”指待扫描源码的文件夹或压缩包路径,请根据实际情况进行替换。
  • 源码迁移报告结果详细内容请参见查看分析结果