Может ли Дженкинс показать мне общее количество / процент неработающих сборок за месяц? - PullRequest
3 голосов
/ 02 декабря 2011

У меня есть сервер Jenkins, который собирает / тестирует около 50 проектов.К сожалению, некоторые из этих сборок дают сбой, но У меня нет хорошего способа измерить, увеличиваются или уменьшаются частоты сборок со временем.по этим направлениям:

  • Отчет, который показывает мне, в течение месяца, сколько работ было нестабильным / не удалось
  • Отчет, который говорит: «X дней без сломанной сборки"(вроде как на строительных площадках)
  • " Красный / Зеленый календарь ", который будет показывать на ежедневной основе, были ли какие-либо сборки повреждены

Я не сделалувидеть любые плагины, которые визуализировали данные любым из этих способов, но я готов почистить логи Jenkins, чтобы получить информацию.Есть ли лучший способ увидеть данные, подобные этим?

Ответы [ 4 ]

4 голосов
/ 02 декабря 2011

Я думаю, что эта работа довольно приличная с использованием API.Вы можете получить все вакансии из своего поля зрения, затем перейти к деталям работы и получить номера сборки и дату сборки.С этими номерами сборки вы можете получить соответствующий статус.Чтобы собрать и отобразить данные, вам придется выполнить некоторое кодирование, но это может быть возможным.

Другой возможностью было бы использование скрипта Groovy через консоль в Manage Jenkins.У меня нет большого опыта работы с этой функцией, но, поскольку у вас есть доступ к внутреннему представлению, довольно легко получить некоторые данные оттуда.

Наконец, оптимальным решением было бы написатьплагин, который делает работу, но это, конечно, также решение, которое требует больших усилий и ноу-хау.

3 голосов
/ 06 декабря 2011

Плагин Global Build Stats может предоставлять отчеты, которые вы ищете.

(И если вы уже рассматривали этот плагин, мне любопытно, с какими проблемами вы столкнулись.)

2 голосов
/ 20 января 2015

Как упоминает @pushy, консоль скриптов Groovy - хороший инструмент для сбора статистики такого типа.Вы также можете использовать Groovy скрипт в удаленном API.Вот отправная точка для сбора информации обо всех заданиях, соответствующих шаблону.

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"

Используйте это как начало и измените в соответствии с вашими конкретными требованиями.

0 голосов
/ 18 августа 2014

Попробуйте построить плагин метрики вместе с плагином Global Build Stat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...