If it happens that you need to deploy an application to difference servers, different locations, different deployment users you won’t have a great time!

You can use of course the multistage extension and make your cap 2 look more like cap 3 but you can also use the way tasks work to achieve the same thing:

And then you can deploy with  cap production deploy or  cap staging deploy.

Basically you use the “staging” tasks to overwrite variables and you can even hook different tasks.