How to Upgrade Jira on Windows & Linux Server | Part II

Yann Mulonda
Geek Culture
Published in
5 min readAug 6, 2022

Getting started with Atlassian Applications | Jira | Windows Server

So in the previous article, we went through upgrading Jira on a Linux server. Next, we are going to explore how to upgrade a Jira instance running on a windows server.

Assumptions & Recommendations

In most organizations, these tools are maintained by the IT Operation Team whether it’s the Infrastructure, DevOps, or Site Reliability Engineering Team.

  • It’s important to upgrade Jira to its latest LTS version to get the latest security patches and newer features. Based on Atlassian’s new version release frequency and for proper Life Cycle management these Atlassian applications. I’d recommend upgrading Jira Quarterly or ( 4 times a year)
  • For the purpose of this article, I’m going to assume that you’re familiar with these applications’ installation, setup, and configs.

Jira Upgrade on Windows Server

Image source: Jira

Steps to prep for the upgrade

  1. On your Jira Server, download the LTS version of JIRA Software you are upgrading to: https://www.atlassian.com/software/jira/download

2. Verify all plugins are up to date

  • Login to the Jira admin menu → Go to Manage apps → check to see if they are plugins that need to be updated

3. Vefiry Plugins are compatible with the version you’re upgrading.

  • Manage apps → under the list of plugins → go to Jira update Check
  • Run the “Plan Your Upgrade” as recommended by Atlassian to verify there are no errors moving forward with the version of Jira we are currently using.

4. Complete the Health Check to make sure there are no issues with the current license or database.

  • admin menu → System → Troubleshooting and support tools

More info related to this preparation can be found here: preparing for the upgrade. Once you have done all that, your app is ready to be upgraded.

Upgrade Implementation Steps

  1. Take a Snapshot of the Linux VM server.
  2. Take a full backup of the Jira Database.
  3. Got to plugins management and update all the plugins that need to be updated → Most of the time updating plugins will require re-indexing, perform a re-indexing as needed
  • based on the update check recommendation you did on the prep, update the plugins that can be updated, and disable the others.
  • Jira admin menu → System → indexing → and do full re-indexing

The steps above is very important and should be performed correctly in case you need to restore things.

Note: Jira home directory and Jira installation directory are two different folders. makes sure that you have reviewed the content of those two folders

4. Review and take a screenshot of your JVM configs and settings:

# Go to your Jira installation directory. In my case, 
# Jira is running on my D dire -- D:\Program Files\JIRA # Open cmd, go to the bin folfer and run the following command:
Cd D:\Program Files\JIRA\bin
tomcat8w //ES//JIRA_service_name
Review JVM configs

5. Stop JIRA in services

6. Make a copy of the following files from your installation directory:

# this is for your application settings and configsserver.xml → located here: D:\Program Files\JIRA\conf       
cacerts → located here: D:\Program Files\JIRA\jre\lib\security
web.xml → located here: D:\Program Files\JIRA\atlassian-jia\WEB-INF
  • Normally, during the installation, only the content of your Jira installation direction will be modified, not the content of your Jira Home directory. But better be safe than sorry, so just make a copy of these two files as well:
# this is for your application DB and SSL configs, for me both those
# files and located in my Jira Home directory
# -- D:\Program Files\Application Data
dbconfig.xml → located here: D:\Program Files\Application Data
JIRASSL.keystore → located here: D:\Program Files\Application Data

7. Run the new installer as an administrator and follow through with the prompt.

  • DO NOT Start Jira yet after successfully completing the installation

8. Review the config JVM memory settings from step 4

9. Review your Web server Settings on your Jira Configuration Tool

  • Go to D:\Program Files\JIRA\bin and Run config.bat to open and review Jira Configuration Tool. Which looks like this:

10. Compare and verify that the .XML files (server.xml specifically) you backup on step 6 didn’t change, or simply replace them with the files:

  • server.xml — web.xml — cacerts

Then Start the Jira and wait for the dashboard to become available

Troubleshooting

If you run into some errors, try troubleshooting before backing out. To check the logs while running into any issue, Open PowerShell ISE as an admin:

  • Go to your Jira home directory and check the logs
  • In my case → cd ‘.\Program Files\Application Data\log’
  • run: Get-Content .\atlassian-jira.log -Wait -Tail 30

After upgrade verify projects have issues showing up:

  • If you did run a new reindex → verify projects have active issues and project boards are showing up
  • Go back to Manage apps — verify no other plugins need updates.

Clear Plugin Cache

Please perform the following:

  • Shut down JIRA
  • Delete the following hidden plugin cache directories:
* Stop Jira
* Delete the following hidden plugin cache directories:
- JIRA_HOME/plugins/.bundled-plugins
- JIRA_HOME/plugins/.osgi-plugins
* Start Jira
(These directories will be recreated on JIRA reboot with a new plugin cache)

Back out of the upgrade

If the Jira upgrade fails, all troubleshooting efforts are unsuccessful and you cannot get the newer version to run properly:

  • Simply restore your Windows server VM from its state before the upgrade from the snapshot you took in step 1
  • Review things and give it a go again when you’re ready for another try.

If everything went well, you’ll get a page that looks like this:

If you’re running you Jira instance on a Linux server, check out part I of how to upgrade Jira on a Windows server.

Cheers!!

--

--

Yann Mulonda
Geek Culture

Co-Founder & CIO @ITOT | DevOps | Senior Site Reliability Engineer @ICF󠁧󠁢󠁳󠁣󠁴 | "Learning is experience; everything else is just information!”