metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-12-11 09:43 pm

CI

Думал, чем бы сделать уведомления о завершении или сломе билда, потому что за 10 минут тестовой сборки обязательно куда-нибудь отвлекут. Если с завершением проблем никаких нету - у меня все собирается MSBuild и в конец проекта я просто сунул проигрывание гаммы пищалкой, то с сломом все плохо - вроде 3.5 MSBuild не умеет события "выполнить при ошибке".

Втащил вот такое: http://www.cruisecontrolnet.org/projects/ccnet/wiki#Get-started-with-CruiseControlNET
Адова содомия. Документирована хреново, но поднимается с полпинка, вроде работает. Причем вроде нормально интегрируется с моей msbuild чернью - автоматом вытаскивает из hg обновления, при их наличии делает билд, иначе считает, что с прошлого раза ничего не изменилось.
Смотреть более навороченные решения как-то влом, если это перестанет устраивать - тогда и подумаю.

PS: Бугога, дичайшая польза. Я еще даже не настроил билд целиком - а оно уже носом тыкает меня в мои ошибки.

[identity profile] berezovsky.livejournal.com 2012-12-11 07:22 pm (UTC)(link)
о, я такое в одной известной Корпорации настраивал
там ещё светофор есть и уведомления на мыло

[identity profile] bydlorus.livejournal.com 2012-12-11 07:45 pm (UTC)(link)
А мы CI допиливали сами. Доп. страницы для заказчиков чтобы скачивать билды и т.п. Шо касается уведомлений, они слались скриптом на gtalk.

(Anonymous) 2012-12-11 07:47 pm (UTC)(link)
В самом MSBuild можно Хотя СС.NET, конечно, правильнее.

[identity profile] jek-hor.livejournal.com 2012-12-11 07:56 pm (UTC)(link)
Команда сборки ядра Linux в текущем моём проекте (чисто моя, не в составе сборочной системы):

(make -j3 ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zImage && cp arch/arm/boot/zImage /media/KERNEL/ && umount /media/KERNEL && notify-send -i ~/.autotest_images/pass.png "Compiled" ) || notify-send -i ~/.autotest_images/fail.png "Failed"

По окончании сборки вываливается смайлик на пол-экрана соответствующего цвета.

Плохо вам в винде без notify :)

[identity profile] denisioru.livejournal.com 2012-12-12 05:48 am (UTC)(link)
FinalBuilder используем, тоже ок.

[identity profile] alexandr0.livejournal.com 2012-12-12 11:08 am (UTC)(link)
CrusieControl с суффиксом NET не видел. Но Jenkins удобнее, чем CrusieControl без суффиксов.

[identity profile] nicka-startcev.livejournal.com 2012-12-12 12:13 pm (UTC)(link)
>MSBuild не умеет события "выполнить при ошибке".

а хотя бы код возврата умеет?
Тогда из скрипта пускать.

если и это не умеет - то настроить внешний вочдог и пинать его событиями "пока что всё собирается хорошо" и "всё собралось".