In Part 1 we downloaded or built from source control. In Part 2 we added UppercuT to our project. In Part 3 we set up the UppercuT configuration. In Part 4 we updated our reference folders if we needed to. In Part 5 we built our code successfully. In Part 6, we checked into source control. In Part 7, we automatically ignored folders for SVN. What are the next steps to take advantage of the power of UppercuT?
The Power of UppercuT
UppercuT comes with many great features! You now have automated build goodness; why not take a look at what else you can do? Some of these features will help you better maintain your code or even do less work to get the same results.
VersionBuilder allows you to tie your DLLs back to both a build and a revision number in source control. A common problem many of us have is versioning our DLL assemblies and keeping track of what’s in production versus what’s in source control. If you rock with Subversion, UppercuT has this problem solved UppercuT automatically generates an assembly version file for you during build. All you need to do is hook every project up to it.
See more in the VersionBuilder document [http://uppercut.googlecode.com/svn/trunk/docs/VersionBuilder.doc] or at http://ferventcoder.com/archive/2009/05/21/uppercut---automated-builds---versionbuilder.aspx
Integration with Continuous Integration Server (like Team City or CruiseControl.NET)
Having automated builds with UppercuT is good, but it’s even better once you get a continuous integration server to automatically check your code out on changes and run UppercuT for you!
See more in the CruiseControl.NET Integration Document [http://uppercut.googlecode.com/svn/trunk/docs/IntegrateUppercuTWithCruiseControl.NET.doc] or at http://ferventcoder.com/archive/2009/05/21/uppercut---automated-builds---cruisecontrol.net-integration.aspx
Get samples here: http://uppercut.googlecode.com/svn/trunk/docs/Samples/CC.NET/
Implement Custom Tasks if necessary
What good is a build framework if you can’t extend it? That is why we planned a way to allow you to hook right into UppercuT at certain points with Custom Tasks.
See more in the Custom Tasks Document [http://uppercut.googlecode.com/svn/trunk/docs/CustomTasks.doc] or at http://ferventcoder.com/archive/2009/05/21/uppercut---automated-builds---custom-tasks.aspx.
How much maintenance are you doing on configuration files? What happens when you have to update a configuration? You usually have to update it in multiple places. ConfigBuilder allows you to get away from that and only maintain a template file that looks just like the configuration file, but with pointers to environment variables.
See more in the ConfigBuilder Document [http://uppercut.googlecode.com/svn/trunk/docs/ConfigBuilder.doc] or at http://ferventcoder.com/archive/2009/05/17/uppercut---automated-builds---the-configbuilder.aspx.
How much maintenance are you doing on deployment batch files (if you use scripted deployments)? Would you rather maintain just one file? That is where DeploymentBuilder comes in. It allows you to maintain a template file in much the same way as ConfigBuilder.
See more in the DeploymentBuilder Document [http://uppercut.googlecode.com/svn/trunk/docs/DeploymentBuilder.doc] or at http://ferventcoder.com/archive/2009/05/19/uppercut---automated-builds---deploymentbuilder.aspx.
More features are being added to UppercuT. Stay tuned for a roadmap of what features are expected to be in 1.0.
Ask Questions / Learn About Changes & New Versions
If you have questions, you want to know about new features, or you want to get more involved, feel free to join the group. http://groups.google.com/group/chucknorrisframework
UppercuT - Getting Started Series
Part 0 - Prerequisites
Part 1 - Get UppercuT
Part 2 - Add UppercuT to your project
Part 3 - Configure UppercuT.config
Part 4 - A note about the external tools / libraries
Part 5 - Build It!
Part 6 - Source Control / What NOT to check in
Part 7 - Setting up TortoiseSVN to Globally ignore UppercuT output folders and files
Part 8 - Next Steps
With this knowledge you shall build.