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

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

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

[identity profile] nicka-startcev.livejournal.com 2012-12-12 12:16 pm (UTC)(link)
в общем, делать из модногламурной няшки деталь как для линупса.

[identity profile] metaclass.livejournal.com 2012-12-12 12:28 pm (UTC)(link)
Да, MSBuild и сам по себе ближе к нормальным инструментам, чем к гламурным няшкам.

[identity profile] metaclass.livejournal.com 2012-12-12 12:16 pm (UTC)(link)
На самом деле он все умеет, это в документации непонятно, к какой версии что относится.
Из скрипта хреново - тут ключевая идея избавится от скриптов вообще - оставить только софт с явной проверкой кодов возврата и руганью на них по умолчанию (MSBuild и этот вот CI сервер).