views:

218

answers:

2

I have visual studio team suite 2008. I was unable to meet the requirements to setup TFS, so I'm using TortoiseSvn and VisualSvn as my version contol in VSTS.

I need the system setup to do the following:

I neeed to be able to create and track workitems. When updates are made to the current project worked on in VSTS, the updates will be commited back to version control. Tests will be run to see that updates don't break the application. If there's a problem with the update it will be reported back to the developer. If there's no problem with the app, which is a clickonce application, it will automatically be built, obfuscated and deployed to an ftp server.

I've never worked with version control, build servers, automated testing and continous intergration. I need to know what needs to be put in place for this type of system.

I don't know which combination/stack I should be using: CruiseControl.net, TeamCity, Hudson, NAnt, NUnit, MsTest, Trac, BugTracker.net, Ndepend, VisualSvn Server, Perforce, Msdeploy, MSBuild, SCM.

I want something that is free/opensource and relatively easy to setup and use.

Please suggest a setup that will fit my needs.

Any help appreciated

A: 

workitems are part of VSTS, there is no any concept for workitems in other source control systems the Microsft TFS.

The most easiest way to set up complete Continous Integration CI system would be:

svn-1.4.6-setup.exe

Install Subversion to D:\SVN

Create source control repository:

D:\SVN\bin>svnadmin create D:\SVN\repos

Add your source to SVN:

D:\SVN\bin>svn import D:\webroot file:///d:/SVN/repos/webroot -m "initial import"

This will import D:\webroot and all subdirectories into the repository in the subdirectory "webroot", for more datils how to set up SVN as a service: http://martin-lindhes.blogspot.com/2006/09/how-to-run-subversion-140-in-windows.html

Allow all access open svn config file:

D:\svn\repos\conf\svnserve.conf

Uncomment (remove /#):

auth-access = write

You should have the source control server running with access allowed to all. Note you cannot track who is changing the code this way, for more comlex scenarios google: subversion role access

How to get the source code in 3 steps:

  1. Please install source control client from here: tortoisesvn.net/downloads

  2. Then create empty directory where you want to have the code checked out, for example C:\code\source

  3. Right click C:\code\source directory and chose "SVN Checkout", provide for repository URL:

svn://yourserver.com:48000/webroot

and choose all other are default options.

Click ok and you will have the latest code.

Download and Install CruiseControl: sourceforge.net/projects/ccnet/

Open CC config file:

C:\Program Files\CruiseControl.NET\server\ccnet.config here is some sample 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>

Any issues read the help: ccnet.sourceforge.net/CCNET/

I assume you use Nunit to testing.

Simples.

Valko
A: 

I believe Valko should get a response from Mike, I've used a similar set of steps, and used ClearCase as well as SVN repositories, Cruise Control is your answer. Please give this one to Valko

Conrad B