Remake Workflow Question
Hello,
I have been diligently attempting to adapt mig5's workflow using aegir, make, git, etc. to streamline my workflow process. I believe I'm getting there but have a small hangup. I might be over-thinking this but wanted to get some opinions.
So, here's my hangup/question:
What's the best/ideal process for updating platforms/sites as development progresses? It would be awesome if I could tweak my make file and just "remake" the platform for updates (new modules, update from git, etc.) but that doesn't seem to be an option. I thought verify might do this but it doesn't seem to care about the make file after the original build.
Should I be looking at the migrate function? It seems there's congruency there but it wants me to migrate to another platform. I guess I don't understand that in this context. I'm probably just over-thinking, again.
Should I just simultaneously update the make file as a add/tweak modules?
Thanks in advance!
Danny
#1
The correct way to do it (in my opinion) is indeed to build a new platform each time (e.g from an updated makefile) and use:
1) The 'Clone' tool to 'copy' your live site to a dev site on the new platform in order to test that it works and is not going to break your live site when you do the next step:
2) The 'Migrate' tool to 'upgrade' your site onto the new platform (which invokes database updates during the process)
Your concern seems to be that building a new platform is hard work or overkill - that's why you're using makefiles! :) I think it's easy and the safest and sanest way to do it. And no different from how, say, Capistrano does 'release' builds on each deployment - this model allows for rollback if something goes wrong (which the Migrate tool does for you, say, if the database upgrades fail).
Build anew everytime, and migrate migrate migrate :) blow away your existing dev site when it's necessary and re-clone your live site onto a new platform when you need a new dev site with the latest copy of the database and files.
You might also be interested in the contributed 'Reinstall' feature that allows you to 'reinstall' a site on a platform (e.g re-invoking an install profile if you made changes to it) - but I haven't used it.
#2
Thanks for the feedback! I'm a big fan of all your materials so it's great to hear from you directly!
I'm still in the process of making all this work but am getting close. As anyone going through these things for the first time my hurdles usually come in the form of needing to change my mindset or learn an entire new technology (in this case: aegir, EC2 and git).
In the mean time.... three, related, items have been stumping me.... 1. Do install profiles play any role in the workflow or should I be focusing on features and make files? 2. When you move a brand new project through DTAP do you create features for every customization? Or should we only be concerned with using those when a production environment is in use? 3. Do feature servers play a role in this process or are git & make files the only variables there?
Thanks, again, in advance!
DW