JENKINS-A KEY FOR THE AUTOMATION WORLD..!!

Shrishti Kapoor
11 min readMar 12, 2021

--

Today, there is a widespread debate about the role of automation in the future of economies worldwide. Automation is an evident in virtually every business process from customer services to human resources to IT. As technology becomes more sophisticated, we see even more automation of tasks and business processes. Automation of activities can enable businesses to improve performance, by reducing errors and improving quality and speed, and in some cases achieving outcomes that go beyond human capabilities. Automation also contributes to productivity of any Organization.

Success in any test automation depends on identifying the right tool for the project. Any software development organization’s success depends on its culture and its adherence to the right development principles and processes which means a right Tool is very much necessary for any Organization to lead up in this Automation World.

Jenkins, Ansible, GitHub, Nagios, Prometheus, Grafana, SonarQube are a few tools that have gained prominence in this domain. Amongst them, Jenkins is the most widely used automation tool.

ABOUT JENKINS

Jenkins is an open-source automation tool. Build, testing, and release processes can be automated easily through Jenkins. The leading open source automation server, Jenkins provides hundreds of plugins to support building, deploying and automating any project. It provides an array of plugins for integrations with CI/CD Tools. Since it is built on Java, it can run on any OS where Java Runtime Environment (JRE) is installed.

By using Jenkins, software companies can accelerate their software development process, as Jenkins can automate build and test at a rapid rate. Jenkins supports the complete development lifecycle of software from building, testing, documenting the software, deploying and other stages of a software development lifecycle.

It is a server-based application and requires a web server like Apache Tomcat. The reason Jenkins became so popular is that of its monitoring of repeated tasks which arise during the development of a project. For example, if your team is developing a project, Jenkins will continuously test your project builds and show you the errors in early stages of your development.

Jenkins has gained wide popularity in the DevOps community due to its versatility and considerable community support. Some of its most celebrated offerings are:

  • Continuous Integration and Continuous Deliver: With its enormous number of plugins, it can be set up as a simple CI server and also handle CD for complex projects
  • Distribution: Allows connection to multiple slave nodes, which help in distributing the workload across platforms
  • Plugins: Almost any tool can be integrated into Jenkins owing to the enormous number of plugins available in its update center. Most companies that develop tools also release a plugin for Jenkins.
  • Extensible: Owing to its highly distributed nature and vast plugin support, Jenkins can be used to perform an enormous variety of tasks.
  • Easy Installation: Ready packages for all operating systems are available in the download center. Java is the only prerequisite for installing Jenkins.
  • Easy Configuration: A very neat and interactive UI makes configuring projects easy. There is built-in help for most configurations.

Why Jenkins Preferred..??

🔷Faster Development

Pulling the entire code for building and testing can consume a lot of time. Jenkins helps in automate building and testing systems to the integration work.

🔷Better Software Quality

While developing software, generally the issues are detected and resolved before it is completed which makes it a better software with quality assurance while saving a lot of money to the organisation.

🔷Easily Customisable

A developer can easily use Jenkins with multiple plugins and you can also customise and bring multiple possibilities in using the software. The plugins are categorised on the Jenkins website and a user must follow the special instructions while installing the plugins.

🔷Effortless Auditing Of Previous Run

There is no need for spending time on human efforts while capturing the console output. Jenkins capture console output for both stdout and stderr while running jobs. Also, the distribution method of Jenkins enables you to send a developer’s work across multiple platforms without any struggle.

🔷Large Community

Jenkins has grown large community support and has many plugins available including GitHub, Slack, Docker, etc. by which the project is kept as well-maintained and updated. You can also join in the community of Jenkins extensively and interact with the developers, share feedbacks and views on further improvements, etc.

Perks

There are a number of advantages in using Jenkins while developing software, some of them are mentioned below:

  1. Easy to use
  2. The user interface is simple and intuitive
  3. Extremely flexible and easy to adapt to your purposes
  4. It has over 1000 plugins supporting communication, integration, and testing to numerous external applications and if the plugin is not available, you can easily create one.
  5. It has a simple configuration through a web-based GUI, which speeds up job creation, improves consistency and decreases the maintenance costs.
  6. Allows consistent scripting across operating systems.
  7. The Jenkins tool is written in Java and thus it can be portable to most of the major platforms.

Here are Some of the Organizations which are using Jenkins for Automation..!!

1) EDUCATION..!!

CASE-1:

OVERVIEW: To support this online education platform — and over 100,000 students and 25,000 tutors, Preply’s engineering team set out to create a fully automated CI/CD process for its software and development projects.

CHALLENGE: Maintain their ‘everything as code’ mantra and enhance their current Jenkins installation. Eliminate manual intervention by using a configuration-as-a-code only solution for all software development.

SOLUTION: A flexible and scalable CI/CD pipeline that enables their team to introduce and accelerate the deployment of new builds without jeopardizing the entire service which lead to automation.

CASE-2:

OVERVIEW: Netex Learning Organization for Improving the development of learning technologies, applications, and service-based-solutions to deliver digital learning in companies and academic institutions.

CHALLENGE: To Improve the development of learning technologies, applications, and service-based-solutions to deliver digital learning in companies and academic institutions.

SOLUTION: Jenkins executes the jobs and the team receives notifications via chat. This is useful because it saves us a lot of time. Real-time information is obtained and the result of each process at the end of the execution. Automation of some cron jobs to maintain healthy development environments and deploy either automatically or manually with environment variables parameters for tests of future releases. In short, the most important thing is that complex workflows were solved in an easy way.

2) TOURISM..!!

CASE-1:

OVERVIEW: Avoris Travel, a unique travel company seeking to reinvent the travel industry, relies on an equally inventive technology platform fueled by Jenkins.

CHALLENGE: With over 200 developers relying on the company’s infrastructure, they needed a secure, easily customizable, and powerful CI/CD platform.

SOLUTION: Avoris Travel, a unique travel company seeking to reinvent the travel industry, relies on an equally inventive technology platform fueled by Jenkins. It reduced build times over 50% with the flexibility of Jenkins plugins, increased the speed of delivery with Jenkins Pipelines, much less problematic and simple deployments for the team and scalable infrastructure supporting 675 agencies and over 2.8 million international consumers.

CASE-2:

OVERVIEW: A leading global provider of next-gen IT solutions to the travel, transportation & logistics industries. Offers products and services that manage mission-critical operations of major airlines, airports, seaports, cruise lines, and tour operators worldwide. The development team was involved in application development of a passenger services system built on new generation technology.

CHALLENGE: The main challenge was deploying a release in multiple test areas (more than 10) for testing once an application build is over. Because this would take a long time, it was reducing the productivity. It also reduced the frequency of delivering new updates to the customers.

SOLUTION: Using Jenkins, Creating a deployment pipeline that will automatically deploy the releases in over 10 test environments once the build is over. Also, integrated tools like Jira, Artifactory, SonarQube, and others to have a complete CI/CD pipeline. Jenkins helped us immensely in reducing human efforts, which previously required doing all this manually. Jenkins helped to Reduce manual tasks that go into having and deploying a build by 95%. Frequency of build increased It also Reduced waiting time of testers and of preparing test environments and Ability to deliver updates to customers more frequently.

3) BANKING SECTOR..!!

CASE-1:

OVERVIEW: Tymit, a revolutionary credit card processing company, leveraged Jenkins to build a compliant, transparent and secure modern DevOps platform to drive product innovation, handle instant financial transactions and support thousands of users in real-time.

CHALLENGE: Create a solidly reliable CI/CD platform that provides the technology team with the agility and the flexibility needed to innovate while ensuring the security and scalability their fintech service requires.

SOLUTION: Faster delivery of mobile, microservices and operational services. Reduced software testing and release cycles by 50. Ability to support thousands of users for real-time transactions. Created a secure, controlled and compliant fintech environment.

CASE-2:

OVERVIEW: This Bulgarian financial institution wanted to automate the build-and-deploy processes across the entire company. Despite some internal security roadblocks, they were able to do so with Jenkins.

CHALLENGE: Challenge was to Automate the build-and-deploy process for the organization. Jenkins to provide the orchestration needed for each build and deployment. With Jenkins, they were able to make the connection to Nexus repository, pull source code from BitBucket, and create the BladeLogic packages.

SOLUTION: Jenkins rocks because it provided the platform to automate our builds, whereas previously, all tasks were executed manually. Since the implementation:

  • builds are faster
  • builds have fewer errors
  • deployment is automated and fast => happier banks
  • our BitBucket and Nexus libraries are managed and maintained with fewer errors

4) E-Commerce..!!

CASE:

OVERVIEW: Digital Transformation for eCommerce Clients in Indonesia. Focuses primarily on providing solutions in the financial services and eCommerce industries. Provides digital products and solutions such as mobile banking, internet banking, loyalty & reward systems, e-wallet, and digital payments to fulfill the need for digital transformation and rapid time-to-market.

CHALLENGE: Goal was to better power our client’s eCommerce platforms by creating a pipeline for software builds in support of Android and iOS super apps. We also wanted to explore automating deployments and the app publishing process to the Apple App Stores and the Google Playstore.

SOLUTION: Jenkins to be a big help with DevOps & CI primarily by automating unit testing. Here are some general findings are build times are 10x faster, shortened development cycle. Testing has minimize defects before deployment.

CASE-2:

OVERVIEW: Providing Desktop and Mobile E-commerce Solutions for Automobile and Retail Sectors. Garages, auto repair services, and body shops need a new solution to help them find the right car part, available and delivered in just hours, rather than weeks or longer.

CHALLENGE: To create an online marketplace that lists a garage’s favorite wholesalers and distributors to make daily searches for car parts and supplies easier and faster. Looking to create a digital experience allowing users to find spare parts for automobiles with the references of the garages for small and medium structures.

SOLUTION: The securing of the production line has been confirmed and mastered. The direct interaction with the CI job is no longer present, allowing to focus on the businesses. It helped in time-saving on integrating new features in the form of a pipeline, less than half a day versus a full day, better management of pull requests after the code review and simplified validation circuit, the deployment of the deliverable is now possible in one day instead of three on all of our environments (integration, validation, and production).

5) TRANSPORTAION..!!

CASE-1:

OVERVIEW: Uber’s mission is transportation as reliable as running water, everywhere, for everyone.

CHALLENGE: To make Uber’s UI to be simple, engineer complex systems behind it to stay up, handle difficult interactions, and serve massive amounts of traffic.

SOLUTION: Jenkins does continuous integration. We combined Packer, Vagrant, Boto, and Unison to create tools for building, managing, and developing on virtual machines.

6) MEDICAL..!!

CASE:

OVERVIEW: A global company that provides scientific instrumentation, software and services to healthcare, life science, and other laboratories in academia, government, and biotech and pharmaceutical industries. Aim was to Make the world healthier, cleaner and safer starts with automated processes in software development.

CHALLENGE: To develop software that can help simplify DNA sequencing analysis on the fly.

SOLUTION: Jenkins job was to automate build image distribution. This used to be very messy due to a lack of version tracking, especially with so many duplicate copies of builds. Jenkins helped us streamline this process with single deployment, track all versions, and allow wide distribution of builds among the team for testing, verifications, etc.

7) SECURITY..!!

CASE:

OVERVIEW: A cumbersome legacy process for building, testing and releasing software is a huge challenge for a global cybersecurity company that has to stay ahead of hackers, fraudsters and trends in cybercrime. This international cybersecurity company serves enterprise, governments and small businesses worldwide. The developer team always had too many balls in the air with multiple projects happening simultaneously.

CHALLENGE: To Move everything to Jenkins instead of relying on cron jobs and scripts.

SOLUTION: The main target was to have an automated CI/CD chain and with a few steps using Jenkins, and we got what we wanted. Each project would replace cron job scripts and makefile with a Jenkinsfile, and we used the Jenkins plugin API or an http-based API instead of having to invoke a shell command. Results, including Automatic Triggering, Every developer/QA knows exactly what is happening with their code, and in real time. Integration with GitLab makes code management easier, Integration with a private registry makes image management easier and Jenkins status is always visible in case a server or service goes down.

CONCLUSION

Finally To Conclude, We can see How Jenkins is playing a key role in this Automation world..!! As the demand increase these technologies helps in giving more productivity to the organizations with lowering the cost.

Hence Jenkins is a leading open source Tool which is very much necessary for any Organization to lead up in this Automation World..!!

--

--

Shrishti Kapoor
Shrishti Kapoor

Written by Shrishti Kapoor

Spread Knowledge because it’s all about Right Education..!!

No responses yet