How to have a single project flow template and reuse different variable value

Hi All,

We had setup deployment process using variable sets for MSSQL db provider. We need also to reuse all steps from MSSQL flow for Oracle (in order to do so we need just to change a single variable). So need to have like a ‘project template’ for both Oracle and MSSQL flow (all steps are identical) and trigger 2 deployments for particular release by changing one of the variables. One way is just to duplicate all steps - but this flow is hard for our maintenance. Are there any alternatives, also can you provide some basic estimates when the ‘mutitenancy’ feature will be available, and if it can help us in our current situation.

Hi,

If I have understood your scenario correctly, I believe you could solve it by assigning different roles to your deployment targets, so you would have 1 role for MSSQL and 1 for Oracle. You would then scope the variable to each role with the specific value for MSSQL and Oracle respectively.

With the above setup, you just need to create 1 deployment to your environment with your MSSQL and Oracle deployment targets and Octopus will select the correct values.

If I have misunderstood your scenario, then I apologise. If you could give some more details (with screenshots of project deployment process and variables etc) it could help us provide you a better solution.

Multi-tenancy probably wouldn’t make it much easier for your scenario, and it is at least another 2-3 months away before we are ready to make a pre-release available to customers as it is a big architectural undertaking to implement it.

I hope that helps!

Thank you and best regards,
Henrik

Hi Henrik,

We need a way to create 2 web sites(utilizing just 1 application server for both web sites) and 2 services ( utilizing 1 server for both services) for both Oracle and MSSQL databases but with just using 1 template configuration for both (if we need just to deploy to MSSQL only or to Oracle only, or both)

Best regards,
Volodymyr

Hi Volodymyr,

You can use channels for this scenario, so you could have a SQLServer channel, an Oracle channel and a Both channel. You would then scope your deployment steps to run when doing a release to either the SQLServer or Oracle and the Both
channel. You would also then scope your variables according to which channel is being deployed to (and also role if necessary). Something similar to the below:

Deploy website 1
 - Channels: SQLServer, Both
 - Role: web-server
Deploy website 2
 - Channels: Oracle, Both
 - Role: web-server
Deploy service 1
 - Channels: SQLServer, Both
 - Role: app-server
Deploy service 2
 - Channels, Oracle, Both
 - Role: app-server

I hope that helps.

Thank you,
Henrik

Hi Henrik,

We already using many Releses to handle different branches so I don’t think this is a good option for us. So we need ability to run same step 2 times using different values of DB provider variable. Currently I don’t see any other suitable solution except duplicating the steps itself :frowning:

Hi Volodymyr,

OK, it sounds like you at least have a solution for your scenario even if it is not the exactly what you want. I’m sorry I couldn’t find a cleaner solution for you.

Thank you,
Henrik