metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-12-04 09:40 pm

Деплоймент с помощью MSBuild

Сижу клепаю для проекта сборку, деплоймент на тестовые машины и запуск автоматических тестов.
И получается, что если не использовать специализированные CI серверы типа CruiseControl.NET, то самый прямой способ это делать для дотнет-проектов - это MSBuild. Для него есть куча расширений (и можно массово писать свои), он умеет почти все мыслимые вариации на тему конфигурирования билда, интегрирован с проектами Visual Studio (вернее, это проекты студии являются проектами MSBuild). Единственный недостаток - конфигурация в xml и извращения, если нужен императивный код (императивный код на xml, как известно, всегда является уродством).
Но есть смутное ощущение, что я занимаюсь tool abuse и надо втащить CI и его 100501-й язык конфигурирования, тоже как всегда на базе xml.

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

[identity profile] bydlorus.livejournal.com 2012-12-05 07:10 am (UTC)(link)
Это типа достоинство? Т.е. формат настолько ужасный, что более-менее работать с ним можно только с помощью студии.. но это достоинство.

Code-only MS так и не осилили.

[identity profile] metaclass.livejournal.com 2012-12-05 07:53 am (UTC)(link)
Формат ужасный, студия ужасна, но если не пользоваться MSBuild - все становится еще хуже, потому что приходится руками повторять все то, что умеет MSBuild.

[identity profile] bydlorus.livejournal.com 2012-12-05 07:56 am (UTC)(link)
Короче среди слепых и одноглазый - король. Я забыл эту житейскую мудрость :-)

[identity profile] nivanych.livejournal.com 2012-12-05 05:01 pm (UTC)(link)
Ну ви прямо как тактичный и вежливый theяced!

[identity profile] jakobz.livejournal.com 2012-12-05 07:58 am (UTC)(link)
Можно использовать другое, но для студии-то все равно нужно будет писать msbuild-файлы.