Автоматическое тестирование, сборка и развертывание - PullRequest
1 голос
/ 01 апреля 2010

У меня Visual Studio Team Suite 2008. Мне не удалось выполнить требования для настройки TFS, поэтому я использую TortoiseSvn и VisualSvn в качестве моей версии управления в VSTS.

Мне нужна настройка системы, чтобы сделать следующее:

Мне нужно, чтобы иметь возможность создавать и отслеживать рабочие элементы. Когда будут сделаны обновления для текущего проекта, над которым работали в VSTS, обновления будут возвращены в систему контроля версий. Будут проведены тесты, чтобы увидеть, что обновления не нарушают работу приложения. Если возникнет проблема с обновлением, о нем будет сообщено разработчику. Если нет проблем с приложением, которое является приложением clickonce, оно будет автоматически скомпилировано, скрыто и развернуто на ftp-сервере.

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

Я не знаю, какую комбинацию / стек мне следует использовать: CruiseControl.net, TeamCity, Hudson, NAnt, NUnit, MsTest, Trac, BugTracker.net, Ndepend, VisualSvn Server, Perforce, Msdeploy, MSBuild, SCM.

Я хочу что-то бесплатное / с открытым исходным кодом и относительно простое в настройке и использовании.

Пожалуйста, предложите установку, которая будет соответствовать моим потребностям.

Любая помощь приветствуется

Ответы [ 2 ]

1 голос
/ 12 мая 2010

рабочих элементов являются частью VSTS, в других системах управления исходным кодом Microsft TFS отсутствует концепция рабочих элементов.

Самый простой способ настроить полную систему непрерывной интеграции CI:

СВН-1.4.6-setup.exe

Установить Subversion в D: \ SVN

Создать репозиторий управления исходным кодом:

D: \ SVN \ bin> svnadmin создать D: \ SVN \ repos

Добавьте ваш источник в SVN:

D: \ SVN \ bin> svn import D: \ webroot file: /// d: / SVN / repos / webroot -m "первоначальный импорт"

Это позволит импортировать D: \ webroot и все подкаталоги в хранилище в подкаталоге "webroot", чтобы узнать больше о том, как настроить SVN как службу: http://martin -lindhes.blogspot.com / 2006 / 09 / как к перспективе-подрывной-140-в-windows.html

Разрешить всем доступ открыть конфигурационный файл SVN:

D: \ SVN \ Repos \ конф \ svnserve.conf

Раскомментировать (удалить / #):

auth-access = write

У вас должен быть запущен сервер управления версиями с разрешенным доступом для всех. Обратите внимание, что вы не можете отследить, кто изменяет код таким образом, для более сложных сценариев google: доступ к роли subversion

Как получить исходный код за 3 шага:

  1. Пожалуйста, установите клиент управления исходным кодом отсюда: tortoisesvn.net/downloads

  2. Затем создайте пустой каталог, в котором вы хотите получить код, например, C: \ code \ source

  3. Щелкните правой кнопкой мыши каталог C: \ code \ source и выберите «SVN Checkout», укажите URL хранилища:

svn: //yourserver.com: 48000 / webroot

и выберите все остальные параметры по умолчанию.

Нажмите кнопку ОК, и вы получите последний код.

Загрузите и установите CruiseControl: sourceforge.net/projects/ccnet/

Открыть конфигурационный файл CC:

C: \ Program Files \ CruiseControl.NET \ server \ ccnet.config Вот пример конфигурации:

 <cruisecontrol>
  <project name="eSeismic CI build and Test System">
  <sourcecontrol type="svn">
    <trunkUrl>svn://yourserver.com:48000/webroot</trunkUrl>
    <workingDirectory>c:\dev\ccnet</workingDirectory>
  </sourcecontrol>

    <triggers>

      <intervalTrigger seconds="3600" />

    </triggers>

    <tasks>
      <devenv>
        <solutionfile>C:\Code\source\SomeSolutionNameHere.sln</solutionfile>
        <configuration>Debug</configuration>
        <buildtype>Build</buildtype>
        <executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</executable>
        <buildTimeoutSeconds>60</buildTimeoutSeconds>
      </devenv>


      <nunit path="C:\nunit\bin\nunit-console.exe">
        <assemblies>
          <assembly>C:\someproject...\bin\Debug\someunittestdll....Test.dll</assembly>
        </assemblies>
      </nunit>
    </tasks>


    <publishers>
      <statistics />
      <xmllogger />
    </publishers>

  </project>

</cruisecontrol>

Любые вопросы читайте в справке: ccnet.sourceforge.net/CCNET/

Я предполагаю, что вы используете Nunit для тестирования.

Simples.

0 голосов
/ 10 сентября 2010

Я считаю, что Валко должен получить ответ от Майка, я использовал аналогичный набор шагов и использовал ClearCase, а также репозитории SVN, круиз-контроль - ваш ответ. Пожалуйста, отдай это Валько

...