Я, со своей стороны, решил помочь ему, чем могу и собрал простейший индикатор состояния билда из
Схема индикатора не представляет собой ничего интересного или сложного, поэтому описывать я ее не буду. Понадобятся:
- два RGB светодиода (отсюда - там же есть и ссылка на инструкцию, как ими пользоваться)
- 6 резисторов на 220 ом для диодов
- Arduino, я тестировал все на обычном Duemilanove, для конечного, кхм, продукта взял Boarduino - плата как раз подошла по размеру.
- пластмассовая машинка. У меня оказалась весьма маленькая и довольно таки фиговенькая на вид и по качеству, но поскольку целью была не красота, а функциональность, то я не сильно переживал.
Сборка конечного продукта сильно зависит от корпуса, в который вы попытаетесь запихнуть диоды и контроллер, поэтому я опять не буду описывать свое решение (на самом деле, я не изначально не планировал писать по этому поводу статью, поэтому в процессе не делал фотографий).
Весь код для разнообразия я выложил не на bitbucket, а на github.
Итак, краткое демо продукта:
Как видно, индикатор поддерживает четыре режима отображения:
- ожидание - периодически мигаем синим
- сборка в процессе - попеременно мигаем желтым
- успешный билд - оба диода светятся зеленым
- не успешный билд - менты уже выехали за виновником.
Вся система работает примерно так - к одной из машин посредством USB подключена машинка-индикатор. Сама машинка водружена на шкаф, чтобы ее было видно всем и, в лучших традициях «сделай-сам», закреплена скотчем. На десктопе запущен python-скрипт (xmpp-bi.py), который работает xmpp-клиентом.
В качестве системы CI у нас используется Jenkins. После каждого билда он шлет оповещение на JID, который используется индикатором.
Скрипт запоминает названия всех проектов, о которых к нему приходили оповещения и отслеживает их состояние. Если сборка хотя бы одного из них закончится неудачно, машинка включит мигалки. Если все проекты собрались удачно - будет светить зелеными диодами.
На данный момент этот примитивный индикатор нас устраивает. Хотя бы даже потому, что еще недавно у нас и такого не было :)
В будущем хочется улучшить и заменить индикатор на что-нибудь типа такого или такого. Ну и добавить аудио-индикацию.
Немає коментарів:
Дописати коментар