For any Atlassian third-party app developer, it’s difficult to keep up with Atlassian’s high frequency of updates across all of their tools.
Back in 2017, we released the original Atlassian Docker Builder, which facilitated the use of creating Jira dockers for developers to keep pace with Atlassian releases.
However, the implementation of this Jira docker builder still required a bit of work from the part of the developers.
Well, I’ve got great news for you!
We’ve recently updated our Atlassian Docker Builder, and it’s now easier than ever to set up your Atlassian application for integration tests – from any machine, anywhere in the world.
An Overview of Docker for Jira
If you’re confused about the mention of Docker and feeling like you’re late to the party, no worries.
Server-based applications tend to be complex to install depending on your machine’s environment.
You need to deploy a database. Build connections. Set up email preferences. And do a bunch of other time-consuming tasks before your application is up and running properly. And sometimes you can hit some snags if your machine’s environment is a bit more complex.
This is where Docker comes in.
It’s an open-source tool you could compare to a virtual machine. They simplify the process of creating, deploying, and running applications through the use of self-contained packages, or containers.
With containers, developers can ship libraries and other dependencies for their applications in a single package that can be easily deployed anywhere.
These packaged containers allow the application to run smoothly on other machines, regardless of any customized settings that are set up on these machines.
No matter where you run your container, it will run properly ( ~ famous last words! ;-)) Of course, containers don’t turn you into a superhero and you’re never immune from issues.
With Docker (and docker-compose), you can describe your whole environment in a simple configuration file. It’s infrastructure as code!
Imagine, for instance, that you want to customize how your Jira application runs. You can specify that this Jira application needs to connect to your third-party database that relates to the app you’re developing for Jira.
You simply need to copy your file and bring up your container with a single command from any machine, and your environment will be up and running the way you configured it.
Setting Up the Atlassian Docker Builder
Docker is incredibly powerful on its own and already cuts out a huge part of the work, but you still need to do a lot of work to set up your environments with Atlassian applications like Jira.
This is done through the use of a feature called ‘images’.
A Docker image is a set of layers that each represents instructions for running your application. An image file is essentially used to execute a particular set of code within your container.
You can build your images by scripting a set of instructions for your application. And Docker will run this image to create an instance of your container on your machine.
For instance, if you’re setting up a Jira database for Jira version 6.4.13 using our Docker repo, your image might look something like this:
{ hub.docker.com/idalko/jira:6.4.13}
This line calls a specific image that was created within a repository and will include the libraries, tools, and other file dependencies necessary to set up the Jira database.
Once that image is up and running, all you need to do is change the version number in your image when Atlassian updates their application. In the above clip, you would want to change your script to this for Jira 8.0:
{ docker.idalko.com/idalko/jira:8.0}
Our 2017 article walked you through this process.
Our New Atlassian Docker Builder
The best part of our updated Atlassian Docker Builder is that you no longer need to build the image yourself.
That’s right. We provide you with a done-for-you approach to set up your images for a variety of Atlassian applications!
We currently have a total of 9 repositories on the iDalko Docker hub. Which include Docker builders for Confluence, Jira, Jira’s Service Desk, Java, and more.
Use Cases For the Atlassian Docker Builder
The Docker repository simplifies your setup and minimizes the steps you need to take whenever deploying new instances of Atlassian applications.
This is particularly useful in the following cases:
Cloning your environment: If you need to create multiple clones of your development environment for testing purposes, you can simply copy and paste images to deploy containers elsewhere.
Work remotely: Many development teams work in remote teams or travel around the world. This gets tricky when you need to deploy your applications on multiple computers, especially if you change location every few weeks. With our done-for-you Docker image setup, it’s easy to deploy your containers from any environment. And this anywhere in the world, with the same few lines of code.
Features of the Core Jira Docker Builder
The first thing you’ll notice is that the Atlassian Docker Builder repositories are auto-updated.
This means that every time Atlassian pushes a new version of their software, iDalko’s system auto-updates the image from the very moment these updates are available.
But that’s not all the features you’ll find. Here’s a quick overview of the Jira Core repository as an example.
Environment Variables
These environment variables allow you to set up your application the way you need it to be.
All you need to do is describe your environment in the provided docker-compose file using these variables.
In the Jira Core Docker, you can set up these variables:
- Run as non-root
- Run behind a proxy
- Disable Mail
- Memory
- Additional JVM args
- Timezone
- Access Logs
For example, you probably know as well as I do that Jira tends to be overly chatty. Although the Jira 8.0 update helps in this regard.
Whenever you want to disable your email handling in a staging environment, you use the disable mail variable to turn it off.
Volumes
You can mount volumes or directories if you need to store data outside of your container.
Usage
Your docker-compose files are quick and easy to set up. Here’s a quick example:
{
version : ‘3’
services:
jira:
image: idalko/atlassian-jira-core
environment
– DISABLE_NOTIFICATIONS=TRUE
– JIRA_ARGS=-Datlassian.plugins.enable.wait=300
volumes:
– ./data:/opt/atlassian/jira/data
ports:
– 8080:8080
restart: always
jiradb:
image: postgres:9.6
environment:
– POSTGRES_PASSWORD=secret
– POSTGRES_USER-jira
– POSTGRES_D8=jira
volumes:
– ./db:/var/lib/postgresql/data
restart: always
}
A Jira Docker Tool For Everyone
With this updated Atlassian Docker builder, it’s now easier than ever to deploy Jira and all of your other Atlassian applications on any environment more quickly and easily than ever before.
No need to set up the images yourself. And you can customize your deployment environment and settings based on your needs.
If you’re unfamiliar with the world of Docker, I hope this helps you take advantage of the ease this open-source tool provides.
But even for those of you who are already quite familiar with Docker, our auto-updated Jira Docker builder can definitely help you save time and stay up to date with Atlassian’s frequent updates.
Be sure to try it out and let us know your thoughts.