Craft updates come fast and frequent which introduces a problem when working with lots of people in a team. Don't get me wrong, this is a good problem to have!
How are dev shops handling the update process when sites have multiple developers on them with multi feature branches running all at once?
The main issue is the strong dependency each feature branch has with the database. Once you implement a craft update, craft doesn't like jumping around on older versions as you switch feature branches.
What we're currently doing:
- Disabling the ability for people to be able to update on the live production server.
- Creating an "Upgrade" branch on git and doing the updates in that before merging them into the develop branch.
We still seem to be occasionally getting the odd issue of an old feature branch that is out of sync with the database/new install because of this we are still looking to improve this workflow.
Ideas we are tossing up:
- Making a private repo of the
/app
directory a submodule so the sites repo is rather clean. - Disabling the ability to upgrade by default on all domains and treat updates as a "big thing" similar to how you would on an Expression Engine upgrade.
Would love to hear how others are tackling this "convenient" problem.