I use a config file and have identical folder structures in each environment. The config file contains all parameters that are environment specific and I have a separate config file per environment, tailored to that environment.
Each config file is referenced using the relative (..) referencing - see Options, Advanced Options, Workflow Dependencies
I copy and paste all workflows and macros when moving between environments, not making any changes to them, and the relative referencing means they pick up the relevant locations from the new environment.
Be careful with macros - once a macro is mapped to the Alteryx toolbar - Options, User Settings, Edit User Settings, Macros - the macros are no longer referred to using the relative referencing. They actaully disappear from the Workflow Dependencies entirely. Therefore I only have the macros mapped to the Alteryx toolbar in Prod.
Note to schedule your workflows you need any macros to be in the Alteryx toolbar, for some reason the relative referencing doesn't work when scheduling from disk. An Alteryx bug perhaps.
The methods Andrew has suggested are a great idea. I would also advise to use Alias Manager for any DB connections as you can for instance have an Alias called 'DataWarehouse' which points to your Dev DW when on your Dev Alteryx Servers and your Prod DW when on your Prod DW Servers.
Also, if you need to pass connection\directory parameters into a Macro, you can use a text box that is configured as a question which will create a workflow constant, which you can then reference the input with %Question.TextBox%\file.csv
The intention is for the Alias names to not change per environment. Rather, the connection string behind the names changes per environment. So my Alias name "Customer Database" should exist on Dev, Beta & Live, but the actual location it points to would be different on each server.
Would you happen to have an example? I get the concept but a couple of pictures on specific variables you use and how you get it into the workflow would help me a bit. I was trying to add detail to summary document i was working on. Thanks, -Hayes