In our case, Splunk apps needs to be promoted from DEV->TEST->QA->PERFOMANCE->PROD
Our DEV instance is tied to version control as well. Hence all development work needs to be done in DEV.
We have been writing custom deployment scripts to promote and manage across the promotional model. We don't want to edit anything via UI in any other environment other than DEV and promote as a single package across everywhere. So the minimum deliverable should be an APP (and not a single file within an app)
- How do you guys handle promotional model within your environment?
- Do you use Puppet/chef to connect between DEV and PROD etc.. or Is there a way we can tweak deployment server to do this?
We are also planning to have at least 4 environments (DEV, TEST, POST-PROD & PROD). Since DEV box acts like sandbox, we will just copy required files to TEST environment. Then everything will be packaged on TEST environment and promoted to POST-PROD & PROD. We are not there yet as we are on planning phase. We heard about Puppet or Chef but never used. So We are also interested to find better practices for deployment.
I absolutely recommend you use version control for the configurations. Leveraging Puppet or Chef to deploy them is a great strategy and you can actually tie in Deployment Server if you wanted to. If you already have working/expert knowledge of a config management system, you might want to stick with that, especially if it can roll out binaries. Note that deployment server will only roll out configurations and not new/updated binaries of the software.