I'm in the process of migrating my organisations JIRA Software instance to be containerised (using Kubernetes) and at the same time I will upgrade it from version 7.3.2 (very out of date) to 8.6.1 and at the same time move from PostgreSQL 9.6 to 10.
Based on my initial test attempts I know I need to start by importing the original instance data (7.3.2) into an the new instance on 7.13.11 (any higher and the import fails) and then migrate to 8.0.3 and then I can finally migrate up to 8.6.1.
This seems to have worked OK although I have a few questions/concerns I'm hoping people can help with.
1) I'm only using PostgreSQL 10 throughout this entire process even though the versions prior to 8.6 don't support 10 (this is because we currently only have a PostgreSQL 10 insance available). Now I haven't noticed any issues however it would be interesting to know what others normally do when they move through versions that support different database versions and whether anyone has attempted using just PostgreSQL 10 and have they experienced issues?
2) When moving to 8.6.1 we got an error screen regarding custom changes to files not being carried over... specifically bin/setenv.sh and atlassian-jira/WEB-ING/classes/entitydefs/entitymodel.xml. Is this a general error as I'm using the official atlassian jira software docker images so I wouldn't expect these files to be customised?
I understand you are wanting to upgrade both Jira and the Postgresql database running the Jira database at the same time and have some questions about the steps to take.
First off, I would not recommend even trying to use Postgresql 10 with any version of Jira before 8.6. The reason being Jira 8.6 is the first version of Jira that officially supports Postgresql 10 (Jira 8.6 release notes). Hence trying to setup older versions of Jira with this newer database version won't be supported by Atlassian. And if you run into technical problems either with the import or the upgrade of Jira data, you're probably in for a bad time.
I would recommend trying to treat these two processes (upgrading Jira and upgrading Postgres) as completely separate events. I know it looks appealing to try to do both a database and Jira upgrade at the same time, but there are just too many moving parts at the same time to know for sure that this will work as expected.
Instead I'd recommend that you stay on Postgres 9.6 for the entire Jira upgrade process. This is because if you look back at the older versions of the Jira supported platforms, Jira 7.4 -> 8.6 all support Postgres 9.6). Once you get Jira up to the latest version of Jira, and you've confirmed your data is there and imported correctly, if you still want to then migrate to Postgres 10, you can do that, but I just don't think it's a good idea to try this at the same time as upgrading Jira. I have seen a number of support cases where data is either lost or in a corrupted state because when Jira tried to upgrade the data the SQL database was using is not technically supported.
If you stay on postgresql 9.6, you should be able to upgrade directly to 8.6.1 in a single upgrade from versions of Jira such as 7.2.x and higher.
To answer question 2, upgrading Jira has the tendency to overwrite those files. You are likely just seeing this as a warning just in case you might have customized these in the older versions. Our upgrade documentation does recommend that you backup those files before the upgrade just in case so you can maintain your customizations. Setenv.sh tends to be customized with various startup options for Jira. Most common among them is in determining the max amount of memory Jira will use, see also Increasing Jira application memory . But the other file is not usually customized in my experience.
I hope this helps.
We know that great teams require amazing project management chops. It's no surprise that great teams who use Jira have strong project managers, effective workflows, and secrets that bring planning ...