Incremental Deployments

Topics: Server Deployment
Feb 17, 2012 at 9:18 PM

On one of my projects, we have developer sandbox environments and a build server for the aggregation of all developer artifacts (via TFS of course).  We use this build server to build the complete set of integrations.  The solution make-up is a single solution with multiple projects each representing a functional area: orders, shipping, items, etc.  Underneath this are subfolders for schemas, orchestrations, etc.  The requirement is to NOT deploy from Visual Studio to the Test or Production environments, but to you MSI files.  BTDF is great for this and I have this working wonderfully.

However, we also need to be able to support incremental releases whereby one functional area (represented by a project within the solution like Orders that is its own assembly) may have to be incrementally updated.

Can I use BTDF and the Build Server MSI feature to build a partial deployment package that will only update the one assembly with a subset of bindings that we maintain in a single bindings file?

Regards,

Keith

Coordinator
Feb 29, 2012 at 3:15 PM

Hi Keith,

The out-of-box functionality is to build the complete application into the MSI.  I know you mentioned in another thread that you don't have too much experience with MSBuild, but to pull this off will require a lot of work in MSBuild.  If it was easy, I would have done it by now.  It's not as simple as changing which files are packaged into the MSI, because you'd also have to change the deployment process itself (things like the IncludeOrchestrations property, etc.) to reflect which files are actually being deployed.

In some cases you can get away with just installing a new DLL in the GAC, but not that often.  It would have to be something like a code change inside an orchestration or .NET assembly or pipeline component, something that doesn't affect the external interfaces into the assembly in any way.

This request has come up many times over the years, but it would take a lot of time to implement.

Thanks,
Tom

Mar 6, 2012 at 2:26 PM

Tom,

Thanks for the response.  I understand this would be pretty difficult.  I"m going to brainstorm on some ideas or ways to do this while still using the BTDF as the primary framework.  The BTDF is definitely a fantastic tool and I appreciate the work you have done. 

If I come up with any great ideas I will make sure to pass them along.

Regards,

Keith

Coordinator
Mar 7, 2012 at 2:47 PM

Great, thanks for the positive feedback!

Thanks,
Tom