Planning your JIRA installation
There are certain points to be kept in mind before you install JIRA in the production phase and deploy it. The points that are discussed here should ideally be a part of your JIRA questionnaire, which you will prepare and fill in after discussion with the product owners and project managers. This will not only help you to plan your installation for now, but it will also give you a good idea about the future usage of the tool.
From the very beginning, start preparing the documents to store all the following information:
- Number of users: This is the most important thing that the JIRA administrator should worry about. If you are using a limited user license in JIRA, then you should know the number of users who are using JIRA currently and who will be using it a few months down the line. In enterprise systems, there is no limit defined in the license on the number of active users accessing the system, but it's important to worry about various aspects that are discussed here:
- Are users part of a single team or several teams? It's also possible to give limited access of your JIRA instance to clients and third-party vendors.
- If users are part of several teams working with different groups, then is there a need to limit the visibility of projects within these groups?
- Number of projects: The JIRA license will not put any limit on the number of projects. You can create any number of projects irrespective of whether you use 10 users' licenses or 100 users' licenses. The more the number of projects means a lot of issues will be stored in the database and a lot of schemes will have to be managed by administrators. It's good to know the tentative number of projects that will be stored in JIRA.
- JIRA server hardware recommendation: The hardware required to run JIRA depends on the number of variables, such as the number of users, number of projects, traffic, and number of schemes used in JIRA:
- For approximately 50 projects and 100 users, with less than 5,000 issues—16 GB RAM and a multicore CPU.
- For approximately 100 projects and 3,000 users, with less than 100,000 issues—32 GB RAM, 2 Intel (R) Xeon (R), and CPU E5520 @ 2.27 GHz (16 logical cores) processors.
- Atlassian has a recommended sizing guide. Refer to the following URL for more information: https://confluence.atlassian.com/enterprise/jira-sizing-guide-461504623.html.
- Will you need mail notifications in JIRA?: Do you want e-mail notifications sent to users? JIRA has the capability to send e-mails to users on various events, such as issue creating, updating, and resolving. In order to send e-mails, an SMTP server is required. JIRA can also be configured with Google Apps for Work; just enter your username and password to enable notifications. It's also possible to create issues and post comments using a dedicated e-mail. This functionality can be configured using e-mail handlers in JIRA so that users won't need to launch JIRA to post a comment on the ticket they are assigned to; they can just reply to the e-mail received from JIRA.
- Authentication: JIRA has its own internal directory user management system where the information of a user is stored in an internal database. By default, it's enabled when you install JIRA. It's also possible to use directory servers such as LDAP for authentication, user, and group management. In huge organizations where a lot of tools are used, it's important to have such integrated authentication mechanisms so that end users don't have to remember multiple passwords.
- Can JIRA be used from multiple locations?: It's important to know the geographical location of the user and from where they will be accessing the JIRA instance. The choice of a JIRA server becomes important here; latency checks should be done from all such locations and the server location should be in such a way that it offers the best performance to everyone accessing it. As a JIRA administrator, your responsibility will be to do performance routine maintenance activities, such as indexing in JIRA. You should know the time window when there are a less number of users connected to the system.
- How many concurrent users will access the system?: If you have thousands of users in a geographical location, they may access the system simultaneously. This will result in a degraded performance. Although it's important to know the peak usage during the day beforehand, there are various performance improvement measures that can be worked on.
- Tentatively, how many issues per project can be stored?: Discuss with all the product stakeholders about the usage of the tool. You should have plenty of storage to accommodate the huge amount of data. Of course, as an administrator, you will have a fair understanding of the usage. A project can have thousands of issues and these can have file attachments. From time to time, keep a check on the free disk space.
- Tentatively, how many total issues can be stored?: JIRA indexing helps in improved search results. However, it can take several minutes to finish and it should ideally be done when there is less usage of the tool. A JIRA instance with less than 100,000 issues may take 10-15 minutes to finish and you should keep this in mind before announcing a downtime. Knowing how many issues will be present in the system will help you to make better decisions.
- Will users also upload attachments in their projects?: The out-of-the-box concept of JIRA has a provision to attach files along with issues. Of course, it's a desirable feature and everyone wants this. All the attachments are stored on the disk. Maybe, for some good reason, there is no need to have this feature and it's always good to discuss this first with the product stakeholders.
- How many custom fields do you intend to create?: Ideally, all the schemes and configurations should be documented before implementing it, but it's always good to have a clear understanding of the number of custom fields that you need to create in the system.
- Choice of platform and database: JIRA (being a pure Java-based application) can be installed either on the Windows or Linux operating system. It needs a JDK or JRE environment to run. If your IT team is more comfortable with Windows and SQL, then use it. Linux has some advantages (such as SSH) and is more suitable for open source tools (such as Postgres or MySQL).
- Integration with other tools: JIRA can be integrated into a lot of other tools from Atlassian and other commonly used tools in software development. Will you need integration with Confluence, FishEye/Crucible, Bamboo, Git, or SVN? Keep these possible integrations in mind at the beginning.
Generally, for best performance, most people prefer Linux-RedHat or CentOS as the first choice of distribution. The preferred database is MySQL and Postgres.
Tip
For further information on supported platforms, visit the following documentation on Atlassian at https://confluence.atlassian.com/display/JIRA/Supported+Platforms.
Installation of JIRA on Windows
JIRA can be easily installed using the automated Windows Installer. If you are using this method, there is no need to set up the JDK; the installer will configure it for you. The following are the steps to install JIRA on Windows:
- Download the JIRA Windows Installer (
.exe
) file for your platform and architecture from https://www.atlassian.com/software/jira/download. - Run the executable file and in the next step, select Express Install to install JIRA with its default settings; however, a custom installation is recommended, where you can specify the destination directory to install JIRA, the
JIRA HOME
directory, and TCP ports. We recommend the Custom Installation. - You will also get an option to install JIRA as a service.
- After the JIRA installation, it will launch automatically in the browser to run the setup wizard.
Tip
Refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Windows for detailed steps to install JIRA on Windows.
Installation of JIRA on Linux
Just like Windows Installer, JIRA can also be installed easily on your Linux operating system using the console wizard:
- Download the appropriate JIRA Linux 64-bit/32-bit installer (
.bin
) file for your platform and architecture from https://www.atlassian.com/software/jira/download. - Open a Linux console and change the (
cd
) directory to the.bin
file's directory. - If not already done, make the
.bin
file executable using thechmod a+x atlassian-jira-X.Y.bin
command. - Execute the
./atlassian-jira-X.Y.bin
file. - In the next step, select Express Install to install JIRA with its default settings. However, we recommend Custom Install, where you can specify the destination directory to install JIRA, the
JIRA HOME
directory, and TCP ports. We recommend Custom Install. - You will also get an option to install JIRA as a service.
- After the installation process, JIRA will launch automatically in the browser to run the setup wizard.
Tip
Refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Linux for detailed steps to install JIRA on Linux.
Installation of JIRA as a service
If you run either the Windows or Linux installer with system administrator rights, then you will get an option to install JIRA as a service. This makes it really easy for JIRA administrators, as the service can be configured to start automatically when the server boots; otherwise, you will need to start JIRA manually every time you start your server.
Installation of JIRA from an archive file
If you want to install JIRA on Solaris, there is no automatic installation for it and JIRA needs to be installed from an archive file using the following steps:
- Download and extract the JIRA archive file.
- Set the JIRA home directory.
- Create a dedicated user account on the operating system to run JIRA.
- Start JIRA using the
start-jira.sh
file. - Run the setup wizard.
Tip
For detailed instructions on how to install JIRA from an archive file, refer to https://confluence.atlassian.com/display/JIRA/Installing+JIRA+from+an+Archive+File+on+Windows%2C+Linux+or+Solaris.