I currently use subversion for my version control via AhnkSVN and Visual Studio. I recently started using Tree Surgeon to set up my projects. It creates a build script automatically using NAnt. I would like to be able to automate builds regularly projects within SVN. I like the idea of doing a build on every check in but nightly builds would work as well. I would give more information or more of my thoughts but figured I would leave it open and see what the SO community has to say.
Automated Build Tool is a software that compiles the source code to machine code. Automation tools are used to automate the whole process of software build creation and the other related processes like packaging binary code and running the automated tests.
Create a “build” team in your organization. Ensure that the new “build” team has access to each repository and submodule you need to build. Go to the repository's Settings page. On GitHub, add the new “build” team to the list of Collaborators and Teams.
Build scripts are the first step toward automating your build. These scripts come in all shapes and sizes – they can be shell or batch scripts, XML-based, or written in a custom or an existing programming language; they can be auto-generated or hand-coded; or they can be totally hidden inside an IDE.
You could use CruiseControl.Net, which can do a build on every check in, nightly builds, or however you want to do it. A quick google search suggests CC.Net has some integration with NAnt already.
As other's have mentioned we use CCNET here, which we don't usually work on a nightly build, but instead go with a Continuous Integration strategy (every check-in).
I would advise doing the same, whether it be by yourself or within a team, because you can very easily set up unit testing to run on every checkin as well, FXCop testing, and a slew of other products.
If it's just you in a one man team, and you don't have too many projects on the go, I would also advise checking out Team City as an option, because it has a free version, and the reporting and setup is reportedly much simpler (it does look nice to me).
That said, we started with CCNET, and have grown several products too large to look at Team City on the free version and are very happy with what we have.
Features that help with CCNET include:
But I'd definitely go with running a CI build on every check-in - for the most part will run the unit tests before checking in, but let the CCNET server handle run any applications/assemblies that would have dependencies on the assembly we're checking in, and they get re-built, and re-tested on every checkin.
Given it's free and takes very little time to set up - I'd highly recommend just going for it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With