Promoting package to multiple environments on same machine

Hi,

I have a setup where my staging environment is a sub-domain on my site as in: staging.domain.co.za
My package deployment step points to a custom directory on the disk. Is the a good-practice way to specify a custom directory for deployments production?

Maybe I am doing this the wrong way, please assist.

Thanks

Hi Khathu,

Thanks for getting in touch! Specifying a custom directory for deployments to any environment is always a best practice :). As for stage environment as a sub-domain, that is also a pretty common practice. Not sure how i can assist you though, maybe you can explain us whats your doubt a bit more?

Thanks!

Dalmiro

Hi Dalmiro,

Thank you for the response. I have since found a way for this to work. I have two package steps in my process, one for staging and the other for live and each step has a custom installation directory…

This worked for me… not sure if this is the recommended way though. I just need this for an Octopus demo I have put together for the new company I have just joined…

Thanks,
khathu

Hi Khathu,

I believe the reason why you have 2 package steps is just to have 2 different custom installation directories. If you really want to look like a pro on your demo i’d recommend you to do this:

  1. Create an Octopus variable called InstallDir with a value of your staging install dir (lets say C:\Staging) and a scope of Environment: Staging

  2. Create an Octopus variable called InstallDir (yes, same name) with a value of your Live install dir (lets say C:\Live) and a scope of Environment: Live

(see variables.jpg)

  1. Create one single package step and on the custom install directory click on the button at the right of the box and select the variable InstallDir (see packagestep.gif)

This way, when you deploy to the environment Staging the Custom Install Directory value will be the one you set on the Variables menu. Same for Live. With this you’ll show your new company how to make consistent deployments processes across environments vs the old “one step/script/process completely different per environment”

I’m asuming that since its a demo, you’ll have only one tentacle. For my example to work make sure that your tentacle is included on both Staging and Live environments at the same time. If you have 2 tentacles then disregard this comment and have 1 tentacle per environment.

Good luck on your demo and feel free to ask any questions here!

Dalmiro

variables.jpg