Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

Recognition

  • Give kudos
  • My kudos

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Our First Cloud App Story: The Holy Trinity of Integrations

As developers of high-performing apps for improved productivity, our primary job before each new initiative is resolving our own productivity issues.

Recently we developed our first Cloud app that brought not just extreme pride and satisfaction but some struggles along the way. I won't lie; thanks to @Bridget, I start digging into our DevOps solutions and integrations around this first-ever Cloud product release. The result is the following interview with Yuri, a Principal Engineer who leads the Issue Matrix Cloud team. (Thanks, Yuri!)

Hearing this story for the first time reminded me of an analogy from the good ol' days. Do you remember the time when we wrote letters to our loved ones by hand? And the fascinating process of writing a letter → writing a second letter without the mistaken wording → going to the post office → buying a postmark → putting the letter in a box and hope for the best.

 

And that's what the whole process of releasing a Cloud app looked like to me. Pardon my comparison, but that's the best I can do. ¯\_(ツ)_/¯

 

Yuri shared how the integration between Bitbucket, Jenkins, and AWS saved an enormous amount of time for the whole team. Many of you know that building and deploying code for the Cloud may be quite complicated and combines a decent set of operations that need to be performed before a release.

 

Let's view a simple manual workflow:

Push code to Bitbucket  Run a script to assemble the build artifacts  Upload the artifacts to AWS S3  Get a link from AWS  Login to the Atlassian Marketplace  Upload app's version through the AWS link in private mode  Navigate to your Jira Cloud Staging instance (I truly hope that you are all performing this step of the process)  Update your app with the recently created private version  Run integration tests  Keep calm and wait for the green light  Update the version to Public

 

Fortunately, Yuri's team was able to keep the first rule of Botron's development: resolve the productivity issues, then start building. Three DevOps integrations were needed to fully automate the building and release process. 

 

DevOps Integration One: Bitbucket and Jenkins (Jenkins Pipelines). The purpose of this is to automatically create webhooks in Bitbucket to trigger builds, then allow Jenkins to clone/fetch from Bitbucket to run the builds.

DevOps Integration Two: Jenkins and AWS. Integration with AWS S3 to web host the application artifacts. Once you've built the proper configuration, syncing your builds to S3 will feel like a sip of fresh air, with no need to run anything in addition to running a build.

DevOps Integration Three: Jenkins, S3 and Atlassian Marketplace. The final step that uploads the metadata from S3 to the Atlassian Marketplace results in a new private version of our app, visible only to Botron's dev teams. Once the private version of our Cloud App is up and running on the Marketplace, a set of integration tests are performed in an internal Jira Cloud environment. When the lights turn green, the only manual step that left in the equation is clicking the magic button who brings our Private version to life.

Side note: the team considers automation for this one precious click, but we are still in a romantic mood, so it stays by now. (smile)

 

As the proverb says "Measure twice, cut once". Or measure many times, but integrate one [still valid, still ruined].

 

Thanks to the Cloud Team for improving our well-being 💙

atlassian-community-holy-triniti-of-integrations-botron-first-cloud-app.jpg

0 comments

Comment

Log in or Sign up to comment
TAGS
Community showcase
Posted in DevOps

ANNOUNCING: DevOps solution early access program

Hello DevOps enthusiasts! We’re building the future of our DevOps offering and we’d like to invite you to join an early access program for our DevOps solution! The solution includes everything yo...

249 views 5 9
Join discussion

Community Events

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

Find an event

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

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you