BuildManager
.NET Solution build and deployment tool
Overview
When I started at LCS, deploying the web products was very manual. A developer would actually make the builds, then copy-paste from their local bin folders to the staging environment where config files would be edited by hand. Anyone who understands what that means is cringing so hard right now, haha.
The first thing I did was set up One Click Publish and config transforms. That kept us going for a while, but as we kept adding web products the process kept taking longer and longer. Some poor dev (me) still had to do the "One Click" for 8 or 10 different products.
I built BuildManager to handle all that with one click, using Perforce and MSBuild's command line utilities.
Current Status
Retired - We now have a Release Team, and use TeamCity for our builds
Core Problems
- Building 8-10 web apps took forever
- Copy/Pasting by hand is very prone to error
Lessons Learned
- The MSBuild command line is very powerful, but it can be hard to diagnose build issues if you have a lot of custom tasks, though.
- Perforce's command line utility is a little hard to use so I ended up writing a wrapper library for it. Fortunately, the wrapper came in handy for some other projects.
Current Objectives
- None
Tools
- C#
- WPF
- MSBuild
- Perforce's CLI (p4Bridge)
- Dapper
