jenkins 调用通知接口返回build信息

Jenkins构建状态解析
本文详细解析了Jenkins构建通知中的buildjson格式数据,包括构建的不同阶段(如编译、单元测试及Sonar分析等)的状态标识。通过具体字段解释如何判断构建任务的当前状态。

build json 格式如下:

{
  "actions" : [
    {
      "causes" : [
        {
          "shortDescription" : "Started by user 10111065",
          "userId" : "xxxxxxxx",
          "userName" : "xxxxxx"
        }
      ]
    },
    { },
    { }
  ],
  "artifacts" : [],
  "building" : true,
  "description" : null,
  "displayName" : "#13",
  "duration" : 0,
  "estimatedDuration" : 703780,
  "executor" : {},
  "fullDisplayName" : "ftis20171025 #13",
  "id" : "13",
  "keepLog" : false,
  "number" : 13,
  "queueId" : 34473,
  "result" : "SUCCESS",
  "timestamp" : 1508922176205,
  "url" : "http://jenkinsprd.service.com/jenkinsprd/job/ftis20171025/13/",
  "builtOn" : "slave30 mesos",
  "changeSet" : {
    "items" : [
      
    ],
    "kind" : "svn",
    "revisions" : [
      {
        "module" : "https://a.svncode.test.com/svn/JR_code/EPP/phonepadInterface/branches/ftis_V20171025",
        "revision" : 36055
      }
    ]
  },
  "culprits" : [
    ]
}

这是build 通知的原数据,上面返回的结果是已经构建结束(编译和单元测试结束),但是正在sonar 分析(Jenkins sonarScanner还在执行)!这里可以看到buildnumber==buildid

如果是还在编译或者执行单元测试:buildding: true, result:{}(result是空)

如果sonar 分析阶段也结束了,那么building :false result: 结果不变

 

 

 

### Jenkins 中集成 CppCheck 进行静态代码分析 #### 插件安装 在 Jenkins 中集成 CppCheck 的第一步是安装 **CppCheck Plugin**。可以通过两种方式完成插件的安装: - 方法一:通过上传 `.hpi` 文件的方式手动安装插件,路径为 `系统管理 -> 插件管理 -> 高级 -> 上传插件` 并选择文件 `cppcheck.hpi`[^1]。 - 方法二:进入 Jenkins 插件市场,在可用插件列表中搜索 `cppcheck` 后点击安装按钮即可[^3]。 如果需要更灵活的选择,也可以访问官方文档页面获取最新版本并按照说明操作。 #### 工具准备 为了使 CppCheck 能够正常运行于构建环境中,需确保目标机器上已正确部署该工具。对于基于 Debian 或 Ubuntu 的 Linux 发行版而言,可以利用包管理器快速完成此过程: ```bash sudo apt-get update && sudo apt-get install cppcheck -y ``` 上述命令会自动处理依赖关系并将软件添加至系统的 PATH 变量之中以便随时调用][^[^24]。 #### 构建配置 当以上准备工作完成后,则可以在具体的项目 Job 设置界面找到新增加的支持选项用于定义扫描行为及相关参数设置位置。具体如下所示: 1. 添加 Build Step 类型设为 “Execute shell” (适用于 Unix-like OS),输入类似下面的内容来执行实际检测工作: ```bash cppcheck --enable=all --std=c++11 --suppress=missingIncludeSystem ./ ``` 此处可以根据需求调整各个开关项以及指定待审查的目标源码目录范围等细节部分[^4]。 2. 接下来启用 Post-build Actions 下拉菜单中的 Publish Cppcheck results 功能模块,并指明结果报告所在 XML 文件的位置模式,默认情况下应位于 `${WORKSPACE}/cppcheck.xml` 处。 注意每次运行前最好先清理旧数据以免干扰新产生的统计信息准确性。 --- ### 示例脚本 以下是完整的 Pipeline Script 示例供参考: ```groovy pipeline { agent any stages { stage('Build') { steps { sh ''' mkdir build cd build cmake .. make ''' } } stage('Static Analysis with CppCheck') { steps { script { try { sh 'cppcheck --xml-version=2 --quiet --template=gcc --inline-suppr --force --error-exitcode=1 ./src' } catch(err) { echo err.getMessage() } } } } } post { always { recordIssues enabledForFailure: true, tool: cppcheck(pattern: '**/cppcheck-result.xml') } } } ``` 在此例子当中不仅包含了常规构建流程还加入了专门针对 C/C++项目的质量门控机制从而帮助开发者尽早发现问题减少后期修复成本投入。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值