Так что я недавно отвечаю за проекты в своей компании (нас пока всего двое парней, но мы растем), и я хочу правильно строить свои проекты.
Все мои проекты уже находятся в репозитории SVN, у меня настроено программное обеспечение для отслеживания ошибок, но то, что я ищу, - это лучший способ разместить новый проект с тестами, SVN и сервером сборки. Я хочу настроить все наши новые проекты для CI, но я не совсем уверен, как все сделать так, чтобы все было как можно более гладко.
Я знаю, что мне нужно:
Как вы, ребята, настраиваете свои проекты? Я хочу использовать MSBuild для своего сервера сборки, поскольку все уже настроено таким образом благодаря VS, но я также ищу советы о том, как следует размещать файлы, как проекты должны быть размещены в решении и т. д. В нынешнем виде в моем решении около 5 проектов, один из которых - проект тестирования, который содержит все тесты для остальных моих проектов. Это предпочтительный метод?
Как насчет макета внутри вашего репозитория? Где вы храните материалы, связанные с БД? Технические характеристики и документы?
Используете ли вы какое-либо конкретное программное обеспечение для CI или просто следуете мантре «Непрерывная интеграция больше похожа на состояние ума»?
В общем, я ищу советы по правильному запуску нового проекта, чтобы в дальнейшем все шло как можно гладко, а также чтобы с ним было легко познакомиться новым разработчикам.





Круиз-контроль - отличный продукт для непрерывной интеграции. Другой вариант, который немного «проще» настроить, - это TeamCity от Jet Brains.
Это довольно просто, если у вас есть правильное представление! Попробуй это (это то, что я использовал, чтобы намочить ноги) msmvps.com/blogs/omar/archive/2008/10/06/…
Вы, ребята, были правы, я просто ошибся. Мне сейчас очень приятно работать :)
TeamCity - очень хороший продукт CI, и он бесплатен для определенного количества проектов.
Алекс,
Я предлагаю вам начать здесь: http://msdn.microsoft.com/en-us/library/ms998208.aspx
Это касается собственных рекомендаций Microsoft по структуре проектов. Судя по всему, вы действительно должны придерживаться единой архитектуры решения.
Что касается конкретной платформы CI, очевидно, что доступно несколько вариантов. Отчасти это зависит не только от функциональности, но и от вкуса. Поиск в сети должен дать вам большинство ответов, которые вам нужны, о плюсах и минусах!
Ник.
Я думаю, что руководство Microsoft действительно стоит прочитать, хотя вы должны знать, что оно немного устарело. проголосовали за.
Я поддержу голосование за круиз-контроль как CI и отмечу, что CruiseControl.NET очень хорошо и легко интегрируется с MSBuild.
Древовидный хирург - http://www.codeplex.com/treesurgeon
"Tree Surgeon - это генератор дерева разработки .NET. Просто дайте ему имя вашего проекта, и он настроит для вас дерево разработки за секунды. Более того, ваше новое дерево имеет годы накопленного опыта в области проектирования сборки, построенного правильно. в."
Поэтому я меняю свою структуру по мере обучения, но сейчас:
(SVN REPO)
/trunk
MyProject <-- solution & .build file (i use nant or msbuild)
conf <-- IIS Settings etc go here
docs <-- that documentation i never do
lib <-- 3rd Party libraries eg ApplicationBlock,ASPNet MVC
src
Web
Data
Business
test
Web.Test
Data.Test
Business.Test
tools
nant
nunit
moq
Project2
conf
lib
src
test
tools
/branches
/tags
Надеюсь, вы увидите мою структуру выше
Дженкинс - отличный продукт. Имеют очень плагины и активное сообщество.
Полностью совместим с .NET. Поддержите рабов машин.
Я видел это и немного повозился с этим, но это показалось мне слишком сложным для моих нужд. Хотя, возможно, я еще раз посмотрю на это, спасибо.