3

I've been a bit frustrated with the process of updating EE in past few months so I'd like to learn best practices from the community so I can alleviate my pain a bit. I manage my site with Git and Github and deploy to two bare repos (dev, prod).

Here it is how I do it currently:

  • Download the latest version from Ellislab
  • Dump my prod database and import it locally
  • Create a separate branch for the update
  • Follow the instructions on Ellislab on how to update
  • After update is done I merge the branch onto master
  • Import database to prod
  • And finally push my merged master branch to Github and then dev.

On average, this process takes somewhere between 30 min to 1 hour. It depends on the size of your site (database, configuration, modules, etc).

What's flawed with my process? Is there a better process, if so what do you recommend? I'm eager to hear your suggestion and learn from you all!

Thanks,

Juliano

6

I use Git and Beanstalk to do a 2-phase upgrade process. I upgrade and troubleshoot locally then quickly deploy the upgrades to production when I'm done.

I wrote a blog post about it: https://www.kristengrote.com/blog/articles/the-20-minute-expressionengine-upgrade

| improve this answer | |
  • Thanks! Your process is very similar to mine. Sometimes, I run into issues when pushing the upgraded local version to prod and then I have to redo everything again. I'm also in the process of installing capistrano for deployment. – jmdesigner81 Aug 2 '14 at 15:38
  • Looking at it closely, I've never changed is_system_on to "n" when upgrading. What does that do? – jmdesigner81 Aug 2 '14 at 15:44
  • It avoids that somebody open the site and see a possible error report while updating. For the same reason, you should clean EECMS cache just after put the system offline. – Robson Sobral Aug 3 '14 at 13:23
  • @jmdesigner81 When you turn the system off in the CP it updates the config file setting to n. But if you deploy your local config file without changing the config variable, your system will get turned back on in the middle of your upgrade and your users will see possible upgrade issues. – kmgdev Aug 4 '14 at 15:31
2

Same process here, except that I update all add-ons the site uses in the process.

DevDemon updater can speed up the process a little bit.

| improve this answer | |
  • Do you run Updater locally and then push to prod? I've been thinking about getting Updater but I haven't yet. – jmdesigner81 Aug 2 '14 at 15:29
  • Don't use it on all of my production sites but yes, hat's how I would do it. – Jérôme Coupé Aug 3 '14 at 19:49
0

If the site is not in version control (i.e. prior to me learning it) then I upgrade by using DevDemon updater and taking a backup just in case).

If the site is in version control. I pretty much do what Kristen mentions in her blog post except that I take a db dump locally before deploying and then import that db to the live site during deployment.

| improve this answer | |
  • In my experience, you need to run installer in prod even if you run installer locally. – jmdesigner81 Aug 2 '14 at 15:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.