Объясните плз. кратко чем может быть полезен NAnt в разработке. Разве писать .build скрипты удобнее, чем просто нажать кнопку Build в Visual Studio? Если можно, то приведите практический пример, где NAnt может быть полезен.
Здравствуйте, <Аноним>, Вы писали:
А>Объясните плз. кратко чем может быть полезен NAnt в разработке. Разве писать .build скрипты удобнее, чем просто нажать кнопку Build в Visual Studio?
А на сервере обезъянку посадим кнопку нажимать?
А> Если можно, то приведите практический пример, где NAnt может быть полезен.
Сейчас, на новых проектах, смысла уже нет — есть полный аналог под названием MSBuild, который нативно поддерживается студией. Но раньше его не было.
... << RSDN@Home 1.2.0 alpha 4 rev. 1106 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
А>>Объясните плз. кратко чем может быть полезен NAnt в разработке. Разве писать .build скрипты удобнее, чем просто нажать кнопку Build в Visual Studio?
AVK>А на сервере обезъянку посадим кнопку нажимать?
А чем отличается "сервер" от любого компа разработчика? И почему обязательно нужно что-то собирать на сервере?
Если программер ответственный за какой-то проект, то "релизная" сборка происходит на его компе, он же укомплектовывает собранную софтину всем необходимым и готовит для передачи заказчику.
Если программер просто пишет какую-то часть, то он делает сборку в целях отладки — на своем компе. Более того, если часть общая для нескольких проектов — он делает сборку всех этих проектов и смотрит что там получается. Все компы в принципе равноценны, иначе можно не выловить какие-то ошибки рантайма.
Так зачем все эти скрипты?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, x-code, Вы писали:
XC>>А чем отличается "сервер" от любого компа разработчика?
AVK>Отсутствие разработчика
XC>> И почему обязательно нужно что-то собирать на сервере?
AVK>http://en.wikipedia.org/wiki/Continuous_integration#Automate_the_build
Т.е. это для команды, которая использует общий репозиторий и желает получать автоматически после каждого коммита собранную версию продукта?
Еще уточнение. А чем не подходит обычный запуск csc компилятора с параметрами командной строки? Зачем еще MSBuild? Студия же использует этот компилятор и подставляет нужные параметры командной строки?
Здравствуйте, <Аноним>, Вы писали:
А>Т.е. это для команды, которая использует общий репозиторий и желает получать автоматически после каждого коммита собранную версию продукта?
Важнее то, что регулярный билд и прогон тестов позволяют непрерывно контроллировать состояние продукта.
А>Еще уточнение. А чем не подходит обычный запуск csc компилятора с параметрами командной строки?
Подходит. Если одним запуском можно обойтись. В реальном продукте обычно куча сборок, и куча танцев, которые нужно сделать до компиляции и после.
А> Зачем еще MSBuild? Студия же использует этот компилятор
Студия использует MSBuild.
... << RSDN@Home 1.2.0 alpha 4 rev. 1106 on Windows Vista 6.0.6001.65536>>
Здравствуйте, AndrewVK, Вы писали:
А>>Еще уточнение. А чем не подходит обычный запуск csc компилятора с параметрами командной строки?
AVK>Подходит. Если одним запуском можно обойтись. В реальном продукте обычно куча сборок, и куча танцев, которые нужно сделать до компиляции и после.
Интересно. А можно парочку самых распространенных случаев, когда запуск csc недостаточен?
Здравствуйте, x-code, Вы писали:
XC>Если программер ответственный за какой-то проект, то "релизная" сборка происходит на его компе, он же укомплектовывает собранную софтину всем необходимым и готовит для передачи заказчику.
а если в проекте 50 разработчиков, 30 тестеров, 20 живых версий ( реально работающих ), и сотня другая заказчиков?
Здравствуйте, Svjat, Вы писали: S>а если в проекте 50 разработчиков, 30 тестеров, 20 живых версий ( реально работающих ), и сотня другая заказчиков? S>твои действия?
Ну, просто не все видели большие проекты, где без всего этого будет просто бардак.
Здравствуйте, Аноним, Вы писали:
А>Объясните плз. кратко чем может быть полезен NAnt в разработке. Разве писать .build скрипты удобнее, чем просто нажать кнопку Build в Visual Studio? Если можно, то приведите практический пример, где NAnt может быть полезен.
Во-первых, для автоматизации.
Вы рутинные операции как автоматизируете? наверное пишите .bat/.cmd-файлы, ну или js/vbs-скрипты. И то и другое даёт довольно бедный инструментарий и низкий контроль ошибок. NAnt написан целиком на дотнете и прекрасно контролирует все ошибки. Да и набор операций в нём довольно обширный и расширяемый.
Другой пример. Что если для сборки нужно не только скомпилить бинарник, а ещё и собрать документацию из нескольких источников, собрать инсталлятор на нескольких языках, собрать всё это в несколько вариантов дистрибутива и сделать из этого несколько .iso-образов, готовых для записи CD? Всё это можно сделать руками, но для этого вам понадобится билд-инженер, вся работа которого сведётся к выполнению рутинных операций день за днём...
Ну а вообще NAnt (а также Ant, MSBuild, make) — всё это средства сборки, без которых не обходится создание мало-мальски сложного проекта.
Re[2]: Объясните в 3-х словах зачем нужен NAnt
От:
Аноним
Дата:
26.08.08 22:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:
А>> Если можно, то приведите практический пример, где NAnt может быть полезен.
AVK>Сейчас, на новых проектах, смысла уже нет — есть полный аналог под названием MSBuild, который нативно поддерживается студией. Но раньше его не было.
А как практически реализовать автоматическую сборку на сервере с помощью MSBuild? Для этого нужно писать скрипты и потом вызывать MSBuild и в качестве параметра передавать имя файла скриптов? Можно ли как-нибудь обойтись без написания скриптов?
Здравствуйте, Аноним, Вы писали:
А>А как практически реализовать автоматическую сборку на сервере с помощью MSBuild? Для этого нужно писать скрипты и потом вызывать MSBuild и в качестве параметра передавать имя файла скриптов? Можно ли как-нибудь обойтись без написания скриптов?
А>И какое приложение должно вызывать MSBuild?
Здравствуйте, AndrewVK, Вы писали:
А>> Если можно, то приведите практический пример, где NAnt может быть полезен.
AVK>Сейчас, на новых проектах, смысла уже нет — есть полный аналог под названием MSBuild, который нативно поддерживается студией. Но раньше его не было.
Вот бы ему еще нормальный синтаксис...
ToOP: еще одним очень неплохим и более гибким вариантом для сборки есть rake.