Continuous integration with Tortoise SVN
Is it possible to have CI i.e. Continuous Integration with Tortoise SVN? I want to automate 开发者_如何学JAVAthe build process for .NET project.
Thanks, Omky
I highly recommend you look at either Hudson or Jenkins which are both open source continuous build tools that I've successfully used for .NET environments.
Tortoise is merely a client program you're using for Subversion and really has nothing to do with continuous builds. However, Jenkins and Hudson both have internal SVN clients, so it's easy for them to see when changes were made to the repository and run a build.
Hudson/Jenkins have various plugins that you'll find helpful. For example, there's a MSBuild.exe plugin that runs Visual Studio solution files and builds your .NET application. You can run Nant for builds, NUnit tests (and both will produce nice charts), and even deploy from them.
Hudson/Jenkins are easy to setup and use. You can define jobs via a web based interface, and you can probably be up and running within a few hours after downloading them. Installing extra features via plugins is also very simple. You simply select the plugins, and press a button. I used to use CruiseControl and CruiseControl.NET but switched to Hudson/Jenkins because they simply work a lot better.
Their history is a bit muddled at this point. The original Hudson project was run by Kohsuke Kawaguchi who worked for Sun Systems. When Sun got bought by Oracle, Kawaguchi went to Cloudbees and took the project with him. However, Oracle held the copyright to Hudson, so he renamed the project to Jenkins. Both Hudson and Jenkins projects claim to be the true project and the other is the fork. However, I use Jenkins because I see that's where most of the activity is for now.
Update: Since 2017 at least, Oracle's Hudson is no longer maintained and has been announced as obsolete.
We use svn together with msbuild and hudson/jenkins as a build server for CI. It works great.
TortoiseSVN is a graphical front end to the svn client and as such not easily automated.
Most CI servers have a built in capability to use SVN - I suggest you read the documentation of your chosen tool.
If it doesn't support it natively, you should integrate using the command line client to issue commands (easily done with batch files, powershell etc).
TSVN is a client-side application which is meant to be used by a human. What you need is a CI server which can interface with Subversion. Check out CruiseControl.NET or TeamCity.
no you need to connect to SVN itself using a CI tool - if you are new to CI then you will need to get yourself an easy tool to setup and get used to
I'd suggest trying out TeamCity or Bamboo.
精彩评论