UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)

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

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.

ConfigBuilder

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.

DeploymentBuilder

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.

Other Features

More features are being added to UppercuT. Stay tuned for a roadmap of what features are expected to be in 1.0.

Resources

 

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.

kick it on DotNetKicks.com

Print | posted @ Saturday, May 30, 2009 12:52 PM

Comments on this entry:

Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Michael at 5/31/2009 10:50 PM

Thank you for this awsome build process. I have been delaying setting this up for a while now and you really made things easy. One issue I am having though. I followed all of your steps and everything builds fine, but I can't seem to get VersionBuilder working. I am using Subversion, have the AssemblyInfo.cs file added as linked file. (Fixed all build errors along the way). When I run build.bat I get the generated build_output / code_drop folders. If I look inside build_output and examine the dlls I would assume there version numbers would be updated, but all I get is 0.0.0.0 What am I doing wrong? Thanks
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by michael at 5/31/2009 10:55 PM

Sorry that is SolutionVersion.cs added as linked file not AssemblyInfo.cs.
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Robz at 6/1/2009 4:52 AM

@Michael: When we have seen this happen, it's usually due to a mistake in the repository path.
Take a look in the UppercuT.config at the repository.path property. Can you paste that value into a browser window and have it get anywhere?

If so, open a command line in the top level folder (where build.bat is) and type build >build.log.
After it finishes open up the log and let me know what's going on in the assembly generation (pretty much at the start of the file).
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by michael at 6/1/2009 7:09 PM

So I was thinking about this after I posted. My SVN is a hosted SVN and I need to login first. I am assuming this is the problem. Any way to pass credetials?
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Robz at 6/1/2009 8:04 PM

@Michael: I use google code for some of my projects. I get TortoiseSVN to cache credentials by having it remember them. Another way is to open a command line in the folder and use it to commit changes. svn commit "message".
We can talk more about this offline to get more details. Use the email address I sent you the other day.
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Afz at 5/11/2010 6:52 AM

Hi, i also have the same problem build is not getting updated always 0.0.0.0 version s there for my .exe....
and i have tortoise svn to cache credentials too...
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Robz at 5/11/2010 10:27 AM

Afz: you need the command line version of svn. Look to collabnet for that. Open a command line and type "svn"
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Afz at 5/12/2010 4:54 AM

Hey thanks ya..
I could get the revision,
But build is not changing now
Gravatar # re: UppercuT - Automated Builds - Getting Started Part 8 (Next Steps)
by Robz at 5/15/2010 5:07 PM

Afz: Build number ONLY changes on a build server. Locally it will always be zero.
Comments have been closed on this topic.