Jenkins is the way to cook almost everything in DevOps world

Supporting a Product Lifecycle Management Application

Submitted By Jenkins User Nilesh Attarde

Jenkins makes it possible to accelerate application delivery on AWS Cloud FARGATE containers.

Industry: Product Lifecycle Management (PLM)

Programming Language: Java, Node.js, Springboot, Javascript

Platform: Docker or Kubernetes, Linux

Version Control System: Bitbucket Server

Build Tool: Ant, Gradle, Maven

Community Support:  Jenkins Users Google Group or IRC Chat, websites & blogs,

Spoke with colleagues and peers

Fast deployment and shorter build times
on AWS Cloud FARGATE containers.

Background: My company is a leader in product lifecycle management (PLM), so our application needed to be stellar, as well. It is a multi-container application and needs to be hosted on AWS Cloud FARGATE. Typically manual deployment takes around one full day, including all configurations.  I used the Jenkins CI pipeline to host the application on AWS cloud with ease and without manual intervention.  But AWS FARGATE has limitations to support multi-containers per tasks definitions, so the challenge was to update task definition and services every time for every code change in Bitbucket.

Goals: Deploy application on AWS Cloud FARGATE containers quickly, and with less manual effort.

“Jenkins rocks in so many ways: 1) less time required to have the latest application on AWS FARGATE containers, 2) less maintenance, and 3) large community support.”
Nilesh Attarde, Assistant Vice President, DevOps

Solution & Results: To deploy our multi-container application, we created one Jenkins instance with Docker and Docker-compose integration. For every code change, it detects the change that Docker composes locally to create the images. It then tags those images, saving them to a local repository. 

With the ECR plugin, we then push those newly created images to AWS ECR repository. Using Shell Script and jq utility, we can easily update the multiple FARGATE task definitions for multi-container applications. Once done, we then update the FARGATE services accordingly in order to have our latest updated application running up on the cloud.

The results were just what I was hoping for:

  • fast deployment
  • no manual intervention 
  • shorter build time

Like what you see? Share your Jenkins user story today.

Jenkins® is a CD Foundation project and a registered trademark of Software in the Public Interest, Inc. Copyright Jenkins 2020