Использование сервера непрерывной интеграции для разработки дома - PullRequest
5 голосов
/ 30 января 2009

В продолжение одного из моих предыдущих постов ' Использование контроля версий для домашней разработки ', я теперь спрашиваю мнения о том, как использовать Build Server для домашнего проекта.

В последнее время я читал об этой концепции «Серверы сборки», и я смотрел на такие приложения, как Maven и CruiseControl.Net.

И поэтому я спрашиваю, насколько возможно использовать что-то вроде CruiseControl.Net для моих домашних домашних проектов?

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

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

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

[EDIT]

Хотя я благодарю вас всех за ваши ответы относительно альтернатив CC.Net и тому подобного, еще никто не решал вопрос , реально ли это реализовать или нет внедрить систему сборки для развития дома

Ответы [ 7 ]

5 голосов
/ 30 января 2009

Вполне возможно реализовать сервер сборки для ваших домашних проектов. Я сам внедрил CC.Net для своих домашних проектов, и это довольно легко сделать даже в первый раз. Я бы сказал, что кривая обучения (в зависимости от вашего опыта) составляет менее одного дня, чтобы подготовить и построить ваш первый проект, хотя на этой кривой всегда есть более длинный хвост, когда вы углубляетесь в некоторые из более интересных деталей.

Вопрос для меня является еще одной мотивацией для непрерывной интеграции в эти проекты. Если вы используете «Домашний проект», синонимичный с «Выбрасываемым проектом», то, вероятно, нет смысла вдаваться в проблемы КИ, если вы не используете его специально в качестве учебного упражнения по КИ.

Однако, предполагая, что это не одноразовые проекты, о которых вы говорите, я обнаружил (в дополнение к более очевидным преимуществам автоматизации), что реализация CI помогает снизить накладные расходы, связанные с возвратом к проекту, который вы ушел от в течение некоторого периода времени. Конечно, модульные тесты являются наиболее ценным активом в этом отношении, но комбинация модульных тестов с автоматизированным процессом сборки / развертывания действительно позволяет вам сосредоточиться на новых и измененных требованиях, когда вы возвращаетесь к проекту после его установки. на некоторое время.

Кроме того, как отмечает mghie в комментариях к этому ответу, «CI даст еще большую выгоду для домашних проектов, если они будут опираться друг на друга, поэтому изменения в одном проекте могут привести к поломке сборки в других».

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

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

2 голосов
/ 30 января 2009

В качестве альтернативы CC.Net, я рекомендую вам взглянуть на TeamCity, действительно легко настроить и запустить в работу.

Похожие вопросы:

1 голос
/ 30 января 2009

Взгляните на Хадсона, это очень просто. Вам нужно просто развернуть в Tomcat или любой другой сервлет, который вы используете контейнер. После каждой настройки можно выполнить с помощью браузера. Hudson поддерживает maven, ant и т. Д. И поддерживает все основные SCM. Я пользуюсь Гудзоном в течение последнего года и не столкнулся с какими-либо проблемами.

1 голос
/ 30 января 2009

Я установил CC.net несколько месяцев назад, мне потребовалась целая ночь, чтобы настроить его и создать конфигурации xml, и я не жалею об этом, он плавно интегрируется с SVN, Nunit, Nant или Msbuild. Вы должны попробовать это только в том случае, если хотите набраться опыта

0 голосов
/ 06 января 2012

Я бы согласился, что CC.NET - отличный вариант для локальной / домашней разработки. Я хотел добавить, что для его работы не требуется инструмент SCM. Существует наблюдатель за файловой системой плагин , который будет просто отслеживать изменения файла. Таким образом, вам не нужно проходить регистрацию, чтобы ее выполнить. Кроме того, вам не нужно ждать завершения цикла CI, это похоже на то, что F6 запускается каждый раз, за ​​исключением того, что IDE не использует все свои ресурсы, вы можете не писать код. Если он сломается, вы можете исследовать или просто игнорировать. Нет единого способа сделать CI.

Если вы создаете модульные тесты, то их постоянное выполнение с вашим кодом при каждом сохранении, безусловно, имеет некоторые преимущества в ранних задачах. Использование CCTray позволяет вам видеть это, но не подвергаться вторжению. Мои 2 цента.

Наконец, настройка в первый раз может быть немного сложной, но вы можете настроить шаблон Visual Studio C # или любой другой файл, который вы хотите автоматически настроить с помощью конфигурации CI с наименьшим количеством информации, требуемой пользователем.

0 голосов
/ 30 января 2009

Мне нравится CC.NET, и я большой поклонник CI, но я должен спросить: какие существуют сценарии интеграции с одним разработчиком в проекте? Не могли бы вы просто построить весь проект в Visual Studio, отменив необходимость CI?

0 голосов
/ 30 января 2009

CC.NET очень выполним, на самом деле с бесплатной стоимостью и широким спектром поддерживаемых действий. Не говоря уже о том, что, поскольку вы можете получить исходный код, вы можете изменить его в соответствии с вашими потребностями, я не мог представить себе ничего лучше. Я читал другим собеседникам о том, насколько сложно их настроить, но, если честно, мой первый простой проект TFS / VS2005 был запущен в течение часа. Просто помните, что если у вас возникнут какие-либо проблемы или проблемы, у CC.NET есть довольно активные группы Google для пользователей и разработчиков, которые будут готовы помочь вам в любых затруднениях.

...