InCycle Software's Application Modernization and DevOps Blog

Improved integration with non-TFS build systems in Release Management Update 2

Written by Daniel Mann | May 14, 2014 5:06:31 PM

I was doing some work with Release Management Update 2 today and noticed something that I hadn't seen anyone else talking about yet: It now supports two-part paths for components that are set to "build externally".

Basically, RM has three options for how it gets to the binaries it's going to deploy:

  1. "Builds with Application"
  2. "Builds Independently"
  3. "Builds Externally"

The first two integrate with TFS, so you choose what TFS build definition and then at the time of release, pick which particular build of the application you're going to deploy. Builds externally is the non-TFS option, for cases where you don't have your binaries coming from TFS. With it, you can just specify any UNC path, then at the time of release, type in a sub-folder of that UNC path to grab.

However, RM RTM and Update 1 were kind of limited: In the component, you could specify the first half of the UNC path, like \\myserver\Drop\SomeApplication\. Then, when releasing, you'd fill in the rest: "\SomeApplication_Build1234", for the complete path of \\myserver\Drop\SomeApplication\SomeApplication_Build1234\.

Here's what the UI looked like in RM Update 1:

But what if your build created more than one application, and you wanted your component to point to just one of them, like "\\myserver\Drop\SomeApplication\SomeApplication_Build1234\MyWebSite\"? Well, you were out of luck. There were some ways around it, but it wasn't optimal.

Update 2 addresses that by splitting the "location" part of the UNC path into two parts, separated by the build number that you specify at release time. Observe!

It's a little thing, but it's a big quality-of-life improvement if you're building your software with something other than TFS!