JIRA upgrade logistical question

I've been working on a JIRA 7.1 (from 6.0.7) upgrade project for what seems like 5 years now, and after a bunch of false starts, I have a pretty solid, working test instance of our JIRA server running 7.1. At first, I was thinking I would leave the test server and run an in-place upgrade on the production server, using the 7 pages of notes I have on the entire process (I've run into all sorts of little idiosyncrasies while working on this upgrade).

However, since my brain hurts, and I have this perfectly good copy of JIRA 7.1 running, I was thinking I could move everything over from the production server and call it a day, but there are a few caveats:

I had to dump my JIRA MySQL database and convert it to the proper collation and character set. The current production db has NOT been converted yet. So if I end up pointing my JIRA test instance at the old DB, it's going to choke. I assume I will need to do the dump/convert/import routine on the old DB as well. 

The attachments in jira-home. I have our jira-home directory mounted on a different volume, so I can detach that volume and attach it to the Test/New Instance. However, will this wreck any configurations I've made in the new instance?

If anyone has any helpful tips/tricks/paths of least resistance, I would love your advice. I've read all the Atlassian documentation on the subject already.

1 answer

Hey Ben!

You're definitely on the right track.  Since you've read all the documentation, I'll describe for you the general method that I use to perform this sort of upgrade.  I'm sure there are variations, but this works 99% of the time for me:

  1. Upgrade your prod instance to JIRA 6.4.  This will make upgrading to 7.1 much smoother, as there were a large number of under-the-hood changes, (specifically with Agile), that could cause issues if you upgrade directly from 6.0.7.
  2. On your prod instance, upgrade all your plugins and make sure they're compatible with 7.1.2, (using *JIRA update check* in the UPM).
  3. On your test instance, make sure your plugins are all up to date, and versions match with your prod instance.
  4. Once your prod instance is in a good, clean state, perform a full system backup.  This is simply a giant XML dump of your entire instance, (JIRA Backup).
  5. As for your attachments, I would not recommend attaching the test instance to your current prod directory.  I would zip up the prod attachments directory, and dump it into a new directory specifically for the test instance.
  6. Restore the prod backup to the test instance.  Keep in mind that this will overwrite all data that you may have already added.  (JIRA Restore)

After the restore completes, simply go through and update any prod settings, (base URL, new attachment directory, etc.), and you should be good to go!

And a few gotchas to consider:

  • Make note of any changes you've made in your prod config files, (setenv.sh, server.xml), so they can be replicated on your test instance.
  • What are you using for user authentication?  You may want to create a local admin in the local JIRA directory before doing the XML backup, just so you have a backdoor into the test instance after the restore if you need to reconfigure LDAP, AD, Crowd, etc.

Hopefully this helps!  Clearly this isn't the only way, but historically this has been the least error prone/most flexible way to accomplish an upgrade of this nature.  I'm sure @Nic Brough [Adaptavist] would have some suggestions, too. smile

 

Good luck!

Thank you for the thorough write-up, I appreciate it. This is going to help a lot.

Excellent, happy to help!

Pretty much what I'd have said too wink

I was planning to upgrade to 6.4.11 as you recommended, but I'm curious as to how drastic of an upgrade this is. I've read all the release notes, but in general, can I just go ahead run the upgrade or should I be extra careful with it. I realize I should always be careful when upgrading the production server, but I want to know if I'm going to take out the entire server and have to roll it back to 6.0. I guess my question is this: do you find that the 6.0 to 6.4 upgrade is typically painless?

 

Thanks.

In my experience, it's generally pretty painless.  It is a pretty hefty upgrade, but I've never had any major issues that I can recall.  Reading through the upgrade notes, as you did, is fantastic.

That said, if I were you, (and had the time/resources), I'd clone the current prod instance off to another instance, and test the upgrade there; even going as far as switching that over to your new prod instance if everything tests out okay.  But that's just personal preference after many years of sysadmin work.  I don't like surprises.  smile

I'm sure you've read it, but just in case, check out this article on performing an upgrade with fallback capabilities:

Upgrade JIRA with Fallback

And clearly, no matter the route you decide to go, make backups, and backups of those backups. 

I've not run into problems going 6.0 to 6.4 directly.  There's usually been things with add-ons, but the core data (meaning JIRA, Agile, Service Desk and Portfolio) tended to go smoothly.  The only hiccups I've had with them were having to re-install Agile to make it load properly. 

Follow up to say thank you. I was able to upgrade to 6.4 without only a couple issues, one of which involved getting a license key for the new Agile plugin from Atlassian. I have yet to move on to 7 yet, but I appreciate the help.

No problem!  I appreciate the update.  smile

And it's done! I successfully updated to JIRA 7.1.7 last weekend with the greatest of ease, thanks to the advice here. I appreciate the help.

AWESOME!  Great job, @Ben Radlinski!  I'm super happy that everything went smoothly.  smile

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Posted Wednesday in Jira

Join our webinar: How 1B+ feature flag events helped us build the new Jira

Every time you release software, there's a bit of risk – that there's a bug, that something breaks, or that the feature doesn't resonate with customers. Feature flagging helps make high stakes s...

93 views 0 1
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you