I am new to OmegaCC, I have some previous Aegir experience but I am trying to build better habits. The Omega8cc team has been super helpful. I understand the Aegir workflow. That is the workflow on the server, always clone to a test site, test it, then move the live site, etc. I understand platforms, drush, drush make, and profiles. (Although I am least familiar with profiles, I have only used them in their most basic form).
My question is about my dev workflow, specifically deployment. I think the best way to ask my question is to present a scenario.
I have a site that is live on my Omega8cc box. I also have a dev version running locally. I add a major feature that takes a couple of weeks and in the end adds 4 new modules to /sites/example.com/module and has modifications to the theme's css. How do I deploy this?
My current Aegir (not Omega8cc) workflow is to have a repo per site. My repo is in my sites/example.com folder. So in the above example all 4 modules and my theme/css are all tracked in this one repo. I can then push my changes to the repo, go to my omega8cc box and pull. Done!
Now that I am moving to Omega8cc this workflow broke because I don't have write access to my sites/example.com folder. Now Omega8cc told me they can make an exception and give me this access. However I was also told this isn't a very aegir way of doing things. I want to start building better habits so I am all ears.
My understanding of the suggested deploy workflow would be, after all my local work, to go to my Omega box and pull each of these 4 modules and pull my theme. That is fine. My issue is that I have to remember that I installed these 4 modules and made these CSS changes. Depending on people "remembering" things is not an ideal process in my mind. Plus, one team member would have a hard time deploying another team member's work. They would have to investigate what modules/themes were added or modified.
I would love you know your thoughts and workflow, specifically for deployment.