Search code examples
deploymentoctopus-deployautomated-deployautomated-deployment

Octopus Deploy: How to Deploy Different Projects to Different Production Machines


Simplified example of my issue...

My company has 4 separate applications: App A, B, C & D. My company has 2 separate production servers.

  • App A's Production Server = Server 1
  • App B's Production Server = Server 1
  • App C's Production Server = Server 2
  • App D's Production Server = Server 2

The examples on Octopus Deploy's website appear to assume your production "environment" is the same for all your "projects".

My production "environment" depends on which application is being deployed to production.

I could create an "environment" named after each server but this is going to end up with some strange (web/app).config names for transformations (I'd prefer to have App.Release.Config not App.Server1.Config).

How have set-up Octopus Deploy if you have multiple production servers? Is this something machine roles could potentially solve?

Thanks,

Adam


Solution

  • What I wanted to do can be achieved by using tags. You tag each machine in each environment differently and you can target those machines in the process steps. This allows you to keep sensibly named .config files.