Understanding build, publish, deploy differences in MSBuild/Visual studio RRS feed

  • Question

  • User-745244032 posted

    Hi there,

    I've been reading heaps of stuff on build and deployment for web apps, but I'm still struggling to get my head around the pros/cons of each aspect.

    In particular:

    • build/Config transforms - when and where to use them.
    • Publishing profiles (with config Transforms) - these seem awesome, however they don't appear to be fully integrated with the build process... are they not idea for corporate use, are they mostly intended for single developer models?
    • publish/deploy from VS and with Build servers

    eg: Debug > Release I "get", but when you throw around terms like "staging", "test", "UA", "Preproduction" and so on, and you start putting stuff in various config files it starts to get quite messy...

    Are you supposed to just go with "Debug/Release" as builds and then create "targets" for publishing -> local, test, UAT, preprod, prod? Does this need to be different if you are using a build server or TFS?
    OR are you suppose to put all your settings into web.BUILD.config things... 

    Using TFS and Build Definitions you don't seem to get any access to the publishing stuff (apart from the drop location) - are you required to setup a different work flow building from a BuildServer than build and publish from VS?

    How are you INTENDED to manage this stuff? In particular the situations where debug/release doesn't necessarily have anything to do with the target environment -> eg if I want to set "debug" for "production" for some reason, I don't necessarily want all the settings from DEV... this is an overly simplified example, because you can just add the debug elemnt into the release config transform, but what if there are 20 such settings that I want to toggle that are normally in DEV, but need to be in PROD, but not the other 150 settings... how is this to be managed, do you need to go with somekind of CONFIG DB when your system gets tto this level of complexity or is this catered for in some way that I don't understand...?

    If someone could guide me with useful advice on groking this stuff or point me at some useful docuemtnation/bestpractice stuff for figuring all this out, I'd really appreciate it.


    Sunday, January 5, 2014 11:47 PM