Automated test, build and deploy
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
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:
Please install source control client from here: tortoisesvn.net/downloads
Then create empty directory where you want to have the code checked out, for example C:\code\source
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.
精彩评论