首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >詹金斯能告诉我每月损坏的建筑总数/百分比吗?

詹金斯能告诉我每月损坏的建筑总数/百分比吗?
EN

Stack Overflow用户
提问于 2011-12-01 22:57:58
回答 4查看 7.2K关注 0票数 4

我有一个Jenkins服务器,可以构建/测试大约50个项目。不幸的是,其中一些构建失败了,但是我没有一个很好的方法来衡量构建失败是随着时间的推移而增加还是减少。

我想要的是这样的东西:

  • 一份报告告诉我,在一个月的时间里,有多少工作是不稳定的/失败的
  • 一份写着"X天无破损建筑“的报告(有点像在建筑工地)
  • 一个“红色/绿色日历”,它将显示每天是否有任何构建被破坏。

我没有看到任何以这些方式可视化数据的插件,但我愿意刮掉Jenkins日志来获取信息。是否有更好的方法来查看类似于此的数据?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-02 09:53:57

我认为使用API可以很好地工作。您可以从您的视图中获取所有作业,然后进入作业详细信息,获取生成编号和生成日期。有了这些版本号,您就可以得到相应的状态。您需要做一些编码来收集和显示数据,但这是一种可能的方法。

另一种可能是在中通过控制台使用Groovy脚本。不过,我使用该特性的经验并不多,但由于您可以访问内部表示形式,因此很容易获得一些数据。

最后,最优的解决方案是编写一个插件来完成这项工作,但这当然也是需要最大努力和技巧的解决方案。

票数 4
EN

Stack Overflow用户

发布于 2011-12-05 22:48:06

全球构建统计插件可能提供您正在寻找的报告。

(如果你已经考虑过这个插件,我很好奇你遇到了什么问题。)

票数 3
EN

Stack Overflow用户

发布于 2015-01-20 06:36:51

正如@pushy提到的,Groovy脚本控制台是用于收集这些类型的统计信息的一个很好的工具。您也可以在远程API中使用groovy脚本。这里是从所有匹配模式的作业中收集信息的起点。

代码语言:javascript
运行
复制
def jobPattern='pattern'
Hudson.instance.getItems(Project).each {project ->
  def results = [:]
  if (project.name.contains(jobPattern)) {
    results."$project.name" = [SUCCESS:0,UNSTABLE:0,FAILURE:0,ABORTED:0]
    def build = project.getLastBuild()
    while (build){
      //println "$project.name;$build.id;$build.result"
      results."$project.name"."$build.result" = results."$project.name"."$build.result" +1
      build=build.getPreviousBuild()
    }
  }
  results.each{name,map->
    map.each{result,count->
      println "$name : $result = $count"
    }
  }
}
"Done"

使用它作为一个开始,并根据您的具体要求进行修改。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8349529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档