Cross project variables

For our server farm, some of our servers come with a 2nd partition. For those machines we deploy our releases to the G: drive. For my first project I’m happy to define the a MachineDrive variable and override individual machine level definitions ie.

Name Value Environment Role Machine Step
MachineDrive C:
MachineDrive G: Server5
MachineDrive G: Server12
MachineDrive G: Server15
MachineDrive G: Server17

But now I come to my 2nd project and… well I have to duplicate it all over again.

Is there anyway around this?

Thanks in advance


Thanks for the feedback, I agree this is a problem. We’ll be able to solve this when we implement global variable support, which is a suggestion here:


One small thing. I’ve realised you can use Clone Project to copy things over. This is working great, but the instant I have to change a property, I’ll be back to changing it in all of the projects.

I look forwards to the update with global vars. Thanks again.

While I agree that cross-project variables would be very useful, for your particular situation I would recommend you reconfigure your tentacles. When you run the Tentacle configuration tool, on the Deployment tab it asks you for the path to install applications to. For your machines with a second partition you could change this to something like G:\Octopus\Applications. This will result in all deployments, Tentacle logs and the Tentacle package cache residing on your G drive. The Tentacle configuration tool can be re-run from the start menu of the Tentacle machine at any time and all future deployments, logs and packages will go to the new location without disrupting current deployments.


That’s not a bad idea and would work for the problem that I have described above quite nicely.

Unfortunately that was a simplification of the full scenario and I am trying to reach an exact predefined deployment path, in order to duplicate our existing deployments. So I actually override the OctopusPackageDirectoryPath to be (and yes, this is again a simplification, and please ignore the instance in this discussion as I’m about to start another about that)