Дженкинс как страница отчета о состоянии сборки? - PullRequest
2 голосов
/ 22 марта 2011

Вроде случайный вопрос, но наша компания использует Jenkins http://jenkins -ci.org /

В любом случае, для нашей компании есть раздел, такой как «Weather Report» в таблицеформа сборки статусов.В основном у него будет иконка погоды (солнечно / облачно / гроза), затем при наведении курсора будет указано, какой% методов был покрыт и сколько сборок не удалось (например, 2/256) или что-то в этом роде.

Также есть синий светящийся индикатор, который хорошо ..... мигает / светится, когда проект «строится», и горит синим цветом, когда он завершается ...... В любом случае Как именно это делается?

Очевидно, что веб-страница представляет собой базовый Html / Javascript, и я уверен, что XML (для таблиц).Вещи, но .... Я запутался в том, как именно вы получите статус сборок, как они делают (особенно проверяя, какой% методов завершен?).А как насчет проверки, если что-то в данный момент «собирается» или завершено (я думаю, что оно возвращает некоторую строку «УСПЕХ»… когда это закончено, но как насчет того, когда оно в данный момент собирается…

Любые идеи о том, как это сделать? (И b4 кто-то спрашивает: «Почему бы вам не спросить компанию»), я бы просто хотел выяснить, как это сделать, чтобы реализовать это самостоятельно на тестовом веб-сайте.

Я бы сделал снимок экрана ... но я почти уверен, что большая часть материала считается конфиденциальной ... и я бы не хотел, чтобы меня уволили, но TL; DR. Как бы вы сделали свой СОБСТВЕННЫЙ статус сборки?checker.

РЕДАКТИРОВАТЬ: http://wiki.jenkins -ci.org / display / JENKINS / Firefox + Add-on + Build + Monitor

^^ вот примераддон Firefox, который сортирует то, что я ищу, но я хотел бы создать свой собственный, а не использовать Дженкинс (это здорово, но я просто хочу выяснить, как они это сделали)

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Javascript на странице статуса.

Простая версия будет использовать обратный вызов для запуска каждые X секунд, чтобы запросить информацию о состоянии с сервера с чем-то вроде http://api.jquery.com/jQuery.ajax/,, а затем соответствующим образом обновить страницу.

В более продвинутой версии, которая исключает необходимость опроса каждые X секунд, будет использоваться что-то вроде Comet http://en.wikipedia.org/wiki/Comet_(programming)), что позволит браузеру сохранять соединение открытым, а серверу отправлять обновления по мере их появления. .

Процент выполнения в Jenkins - это всего лишь предположение, основанное на том, сколько времени выполнялась текущая сборка, в сравнении с тем, сколько времени потребовалось на завершение последних сборок, поэтому, если ваша серверная сторона отслеживает продолжительность задач, вы можете взять среднее и сравните длину текущего цикла, чтобы рассчитать процент выполнения.

0 голосов
/ 24 марта 2011

Если вы хотите узнать, как работает Дженкинс / Хадсон, хорошее начало, вероятно, их документы по архитектуре , которые были опубликованы в январе:

Если вы хотите посмотреть, как простой сервер непрерывной интеграции работает, вы, вероятно, захотите взглянуть на

, которые являются одновременно упрощенными и написаны на Ruby.

Что касается индикатора живого состояния с Дженкинсом, вооружитесь Firebug и посмотрите на странице статуса.Вы должны увидеть кучу запросов Ajax.

Для части оценки прогресса сборки (я думаю, это то, что вы имеете в виду, «проверяя, какой% методов завершен», не так ли?) Я заметил, что Дженкинс простопредполагая, что, связывая время, потраченное на эту сборку / время, потраченное на последний запуск этой сборки .

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