Deploy to multiple locations in the same step?

mwoffendenmwoffenden Posts: 98
edited October 14, 2013 10:53AM in Deployment Manager
The DM UI allows me to add three variable entries for the same step, with three different values for RedGatePackageDirectoryPath.

The UI provides no visual cues or guidance on whether this will work, so let me ask...

Does this mean that I can deploy to three different locations (on the same server of course) using a single step?

(Right now I am creating three different steps for this and it makes the step list very long.)

********* UPDATE ********

Out of curiosity, I did try adding three different variable entries for the same step. The deployment ran without error, however, only the first variable entry was executed.

I would have hoped that the UI would have prevented me from doing something that DM could not execute!
Michael Woffenden
Founder and President
Information Results Corporation

Comments

  • Yes, I'm afraid that there is currently no logic in the UI for preventing entering multiple values for the same variable.

    There is quite a lot of logic in the engine to make sure that, if a user sets the same variable twice, the most "specific" value is used.

    For clarification, variables are set with this precedence

    1) Variables applying only to this step
    2) Variables applying only to this machine
    3) Variables applying only to this environment
    4) global variables

    So for example if I set two entries in the variables table:

    RedGatePackageDirectoryPath for step 1 is "foo"
    RedGatePackageDirectoryPath for machine a is "bar"

    then on machine a, at step 1, the value of RedGatePackageDirectoryPath is "foo" (although for all other steps on machine a, RedGatePackageDirectoryPath will be equal to "bar")

    Lower ranking conditions will break a "tie", for example if I set the variables table like this:

    RedGatePackageDirectoryPath for step 1 is "foo"
    RedGatePackageDirectoryPath for step 1 on machine a is "bar"

    Then on machine a, for step 1, RedGatePackageDirectoryPath will be "bar", but for all other machines at step 1, the value will be "foo"

    I hope this helps
    David Conlin
    Software Developer
    Deployment Manager
  • Thanks for the explanation. However, I see this as a bug in the interface.

    I am of the persuasion that user interfaces have the responsibility to ensure that all user input is valid. Call me old fashioned, but if I can enter variables in the UI that are invalid at any later point in the process, it's a problem waiting to happen.

    I'd much rather see up-front validation to enforce the rules.
    Michael Woffenden
    Founder and President
    Information Results Corporation
Sign In or Register to comment.