psake vs. rake для сборок .NET - PullRequest
       32

psake vs. rake для сборок .NET

18 голосов
/ 05 октября 2010

Я исследую инструменты сборки для использования с приложением ASP.NET MVC 2.Мне нравится идея использовать язык сценариев, а не XML, и я сузил свой выбор до psake или rake.У меня нет большого опыта работы с Ruby или PowerShell, но я тоже хочу учиться.Я не против установить Ruby на свой сервер сборки, если это мой лучший вариант.

Ничего слишком сложного или необычного в моей сборке.Потребуется извлечь мой источник из репозитория Mercurial, создать решение Visual Studio 10, выполнить некоторые преобразования конфигурационных файлов, создать / запустить сценарий SQL на основе проекта базы данных (Data Dude), реплицировать веб-публикацию VS и, возможно,сделать другую базовую синхронизацию файлов.

Кто-нибудь имел опыт работы с rake и psake, который мог бы их сравнить?Есть ли у одного преимущество над другим с точки зрения возможностей, или это просто сводится к предпочтениям языка сценариев?

Заранее спасибо.

РЕДАКТИРОВАТЬ: у меня нет решения CIпока на месте, но я склоняюсь к использованию TeamCity.Думаю, я бы упомянул об этом в случае, если один инструмент сборки играет с ним лучше, чем другой.

Ответы [ 3 ]

24 голосов
/ 07 октября 2010

Я бы согласился с оценкой Дерика.Это на самом деле зависит от того, чувствуете ли вы и ваша команда более комфортно работать с Ruby или Powershell (а также с точки зрения обучения).Оба имеют свои сильные и слабые стороны.Либо лучше, чем XML ИМХО.И, как сказал Дерик, у меня тоже есть свои предубеждения, так как я являюсь первоначальным автором psake.:)

Несколько преимуществ psake / PowerShell:

  1. PowerShell уже установлен в Windows 7 и Server 2008. Легко устанавливается в XP и 2003.
  2. Легковходит в ваше решение в управлении версиями.(Меньше движущихся частей.)
  3. Вы можете взять командную строку PowerShell и вставить ее vertabim в задачу psake.
  4. Microsoft и сторонние поставщики создают много командлетов.
  5. Ваши ИТ-специалисты, вероятно, знают некоторый PowerShell, который может помочь им чувствовать себя более комфортно при автоматизации развертываний.(Скрипт развертывания не является таким черным ящиком.)

Несколько преимуществ rake / Ruby:

  1. Rake имеет более широкое сообщество, поскольку оно широко используется всообщество Ruby.
  2. Ruby - более выразительный язык, чем PowerShell, хотя вы, вероятно, хотите, чтобы все было просто в сценариях сборки.
  3. Albacore значительно упрощает сборку проектов .NET с помощью rake.
  4. Rake имеет приятный механизм пространств имен для группировки задач.

Оба решения работают для создания вашего решения.Выберите тот, который работает для вашей команды.Надеюсь, это поможет.

18 голосов
/ 06 октября 2010

Если вы еще этого не сделали, взгляните на мой проект Albacore.это набор rake-задач для построения .NET-решений и значительно упростит работу с Rake для .NET-решений.Вы можете получить всю необходимую информацию от http://albacorebuild.net

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

..................

Честно говоря, это меньшевопрос о том, какой инструмент делает то, что вы хотите, и еще вопрос о том, какой инструмент соответствует вашим навыкам и уровню комфорта.и psake, и rake + albacore имеют практически одинаковую функциональность.они оба работают очень хорошо.они оба облегчают вашу работу по сравнению с другими инструментами.но у них разные подходы и подходы, основанные на их происхождении и происхождении.

Вам удобнее с набором инструментов на платформе Microsoft?или вы знакомы с инструментами, которые находятся за пределами типичного стека MS, но при этом приносят пользу людям, создающим программное обеспечение для стека MS.

вы бы предпочли поддержку вашего инструмента для сборки прямо из коробки, с powershell?Вы бы предпочли иметь опыт работы с ac #, имея возможность включать C # и другой код .NET в ваш процесс сборки?Вы хотите иметь возможность использовать различные плагины для PowerShell, которые помогают автоматизировать различные аспекты окон, для развертываний?

или вы предпочитаете кроссплатформенную, очень открытую систему, которая дает вам более естественный языковой опытс кодом вы пишете, в ruby ​​/ rake?вам удобны инструменты и команды в стиле * nix, ssh и удаленное выполнение процессов для ваших развертываний?

вы говорите, что не возражаете против установки ruby ​​на сервер сборки, который отвечает на часть этого вопроса и оставляет васоткрыть для вариантов.Есть много вопросов, все еще нуждающихся в ответе.

, если вам удобнее работать со стеком MS и хотите получить готовый опыт работы с инструментом на базе MS, тогда переходите на powershell.если вы хотите расширить свой кругозор и немного выйти из стека MS с помощью набора инструментов, с которым легко интегрироваться и работать, чтобы получить представление о том, что такое мир Ruby, тогда используйте ruby ​​/ rake /Альбакор.

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

0 голосов
/ 12 августа 2014

В настоящее время я разрабатываю инструменты сборки на основе PowerShell, которые сочетают конфигурацию XML с возможностью использования и расширения системы с помощью самого PowerShell. Я хочу иметь простые инструменты для сборки, которые можно расширять и настраивать в соответствии с большинством процессов сборки. Вот пример страницы проекта:

Образцы инструментов сборки Crawler-Lib

...