2009-01-08 10 views
7

Итак, я недавно отвечал за проекты в моей компании (мы все еще только 2 парня, но мы растут), и я хочу правильно настроить свои проекты.Каков наилучший способ создания нового .NET-проекта?

Все мои проекты находятся в SVN-репо уже, у меня установлено программное обеспечение для отслеживания ошибок, но то, что я ищу, - лучший способ компоновки нового проекта с помощью тестов, SVN и сервера сборки. Я хочу настроить все наши новые проекты для CI, но я не уверен точно, как выложить все, чтобы оно было максимально гладким.

Я знаю, что нужно:

  • Сервер сборки
  • Все сборки/испытания материалов в репозиторий SVN (включая DB схемы)
  • макет проекта, что это способствует CI

Как вы, ребята, настраиваете свои проекты? Я хочу использовать MSBuild для моего сервера сборки, поскольку все уже настроено таким образом благодаря VS, но я также ищу советы о том, как файлы должны быть выложены, как проекты должны быть выложены в решении и т. Д. Как бы то ни было, у меня есть около 5 проектов в моем решении, одним из которых является проект тестирования, который содержит все тесты для остальных моих проектов. Является ли это предпочтительным методом?

Как насчет компоновки внутри вашего репозитория? Где вы держите свой материал, связанный с БД? Спецификации и документы?

Вы используете какое-либо конкретное программное обеспечение для CI, или просто следуете мантре «Непрерывная интеграция - это больше похоже на состояние ума»?

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

ответ

4

Cruise Control - отличный продукт для непрерывной интеграции. Еще один вариант, который немного «проще» настроить, - это Jet.

+0

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

+0

+1 CC.Net очень хороший – Diadistis

+0

Это совершенно прямо из вас есть правильное введение! Попробуйте это (это то, что я использовал, чтобы мои ноги были мокрые) http://msmvps.com/blogs/omar/archive/2008/10/06/asp-net-website-continuous-integration-deployment-using-using- cruisecontrol-net-subversion-msbuild-and-robocopy.aspx – cgreeno

0

TeamCity - очень хороший продукт CI, и он бесплатный для определенного количества проектов.

5

Алекс,

Я предлагаю вам начать здесь: http://msdn.microsoft.com/en-us/library/ms998208.aspx

Это покрывает собственные рекомендации структуры проекта Microsoft. По звукам этого вы действительно должны придерживаться единой архитектуры решения.

Что касается конкретной платформы CI, очевидно, имеется несколько вариантов. Некоторые из них сводятся к вкусу, а также к функциональности. Поиск в сети должен дать вам большинство ответов, которые вам нужны на передней панели и на передней панели!

Ник.

+0

Я думаю, что руководство по микрософт действительно стоит читать, хотя вам нужно знать, что он немного устарел. upvoted. –

2

Я буду голосовать за круиз-контроль как CI, и отметьте, что CruiseControl.NET очень легко и легко интегрируется с MSBuild.

6

Дерево хирург. - http://www.codeplex.com/treesurgeon

«Дерево хирург является генератор дерева разработки .NET Просто дайте ему имя вашего проекта, и он будет создан дерево развития для вас в считанные секунды.Более того, ваше новое дерево имеет года ценность накопленного сборки инженерного опыта, построенный прямо в «

1

Так что я изменить свою структуру, как я узнаю, но в настоящее время:.

(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 

Надеется, вы должны увидеть мою структуру выше

0

Дженкинс является отличным продуктом. очень плагины и активный распространяемого.

Полностью compative с .NET. Поддержка рабам машины.