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

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

4 comments

M Amine
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 14, 2021

Interesting article

Like # people like this
Teodora _Old Street Solutions_Tempo_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 15, 2021

Thank you @M Amine

Like Andy Gladstone likes this
Andy Gladstone
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 21, 2023

OMG. Just recently joined the DevOps group after taking a deeper dive during Dev Day last month and found one of my favorite Atlassian Authors has posted an article! That simple manual workflow looks (and reads) like a beast of an effort. I'm lucky to be getting my feet wet in a less complicated (read: more stable) environment. Thanks for posting @Teodora _Old Street Solutions_Tempo_

Teodora _Old Street Solutions_Tempo_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 22, 2023

I am everywhere @Andy Gladstone! I must admit I completely forgot about this content until I saw the comment notification. It was a very interesting use case for me to dig into :)

Like Andy Gladstone likes this
TAGS
AUG Leaders

Atlassian Community Events