We are using dotCloud, a virtual host, to run some of our apps. dotCloud deploys apps directly from a git repo, and reads a configuration file called dotcloud.yml from that repo to configure and run the stack.
We have two branches (one production, one staging) that are part of the same repo, and these push to separate dotCloud instances. There is a minor difference in the dotcloud.yml file to run each of these instances.
What is the best way to manage this dotcloud.yml file? Currently we simply make sure we're making sure the dotcloud.yml is correct on each branch, but it constantly gets overwritten as we merge changes from staging to master.
You could:
dotcloud.yml.templatedotcloud.yml.value.prod and a dotcloud.yml.value.staging with the pertinent values for each environment.dotcloud.yml file (which wouldn't be versioned anymore) depending on dotCloud instance.You would declare that smudge script as a filter content driver in a (also versioned) .gitattribute file:

On any git checkout, the smudge script will be called and, if it recognized the dotcloud.yml.template content, will build the right dotcloud.yml file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With