Industry Usecases Of Jenkins

Industry Usecases Of Jenkins

Hello connections!! In this blog i am going to talk about Jenkins which is a automation tool/ software, mostly used in industry to automate the software development to building, testing and deploying.

What is Jenkins ?

Jenkins is free and open source software, used for automation. Jenkins helps to automate the parts of software development related to building, testing and deploying. It implements the concept of continuous integration and continuous delivery. Jenkins is the most widely adopted solution for continuous delivery.

Jenkins supports the complete development lifecycle of software from building, testing, documenting the software, deploying and other stages of a software development lifecycle. Jenkins is free and is entirely written in Java. 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. Jenkins manages and controls software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis and much more.

History

The Jenkins(initially known as Hudson) project was developed by Kohsuke Kawaguchi, in 2004. He worked for Sun Microsystems. he was a developer at sun and got tired of incurring anger of his team every time when his code failed to build. He created Jenkins as a way to perform continuous integration. Continuous Integration(CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests.

What are the Jenkins Features?

  • Free Open Source :- Jenkins is an open-source resource backed by heavy community support.
  • Easy Installation :- Jenkins is a platform-agnostic, self-contained Java-based program, ready to run with packages for Windows, Mac OS, and Unix-like operating systems.
  • Easy Configuration :- Jenkins is easily set up and configured using its web interface, featuring error checks and a built-in help function.
  • Available Plugins :- There are hundreds of plugins available in the Update Center, integrating with every tool in the CI and CD toolchain.
  • Extensible :- Jenkins can be extended by means of its plugin architecture, providing nearly endless possibilities for what it can do.

Jenkins Architecture

  • Developers commit changes to the source code, found in the repository.
  • The Jenkins CI server checks the repository at regular intervals and pulls any newly available code.
  • The Build Server builds the code into an executable file. In case the build fails, feedback is sent to the developers.
  • Jenkins deploys the build application to the test server. If the test fails, the developers are alerted.
  • If the code is error-free, the tested application is deployed on the production server.
No alt text provided for this image


Jenkins Master-Slave Architecture, as you can see in the diagram provided above, on the left is the Remote source code repository. The Jenkins server accesses the master environment on the left side and the master environment can push down to multiple other Jenkins Slave environments to distribute the workload. Supported on a master-slave architecture, Jenkins comprises many slaves working for a master. This architecture - the Jenkins Distributed Build - can run identical test cases in different environments. Results are collected and combined on the master node for monitoring.

Use Cases

Continuous Integration :- Continuous Integration (CI) is the development practice where developers integrate code into a shared repository frequently. A good CI setup speeds up your workflow and encourages the team to push every change without being afraid of breaking anything. It also brings great business benefits as well.

Continuous Delivery :- Jenkins helps in making changes like configurations, error fixes in production in a safe and efficient manner using short work cycles.

Automation :- Jenkins can be used to automate repetitive tasks like backup/restore databases, turn on or turn off machines, collect statistics about a service and other tasks.

Jenkins with GitHub

No alt text provided for this image

GitHub is a web-based repository of code which plays a major role in DevOps. It provides a common platform for multiple developers working on the same code/project to upload and retrieve updated code, thereby facilitating continuous integration. Jenkins needs to have GitHub plugin installed to be able to pull code from the GitHub repository.

With the help of the Git Plugin Jenkins can easily pull source code from any Git repository that the Jenkins build node can access. The GitHub extends upon that integration further by providing improved bi-directional integration with GitHub. Allowing you to set up a Service Hook which will hit your Jenkins instance every time a change is pushed to GitHub.

Jenkins with Netflix

No alt text provided for this image

Jenkins has been a central part of the Netflix build and deploy infrastructure for several years now, since it started in 2011. The year was 2012 and operating a critical service at Netflix was laborious. Deployments felt like walking through wet sand. Canarying was devolving into verifying endurance (“nothing broke after one week of canarying, let’s push it”) rather than correct functionality. Researching issues felt like bouncing a rubber ball between teams, hard to catch the root cause and harder yet to stop from bouncing between one another. All of these were signs that changes were needed.

Netflix uses Jenkins for its use case. Once a line of code has been built and tested locally using Nebula, it is ready for continuous integration and deployment. The first step is to push the updated source code to a git repository. Teams are free to find a git workflow that works for them. Once the change is committed, a Jenkins job is triggered. Netflix’s use of Jenkins for continuous integration has evolved over the years. They started with a single massive Jenkins master in their data center and have evolved to running 25 Jenkins masters in AWS. Jenkins is used throughout Netflix for a variety of automation tasks above just simple continuous integration.

Hope you got knowledge about Jenkins from this blog

Thank you!




要查看或添加评论,请登录

Niraj Kumar的更多文章

  • Deployment Of Machine Learning model inside Docker Container

    Deployment Of Machine Learning model inside Docker Container

    Hello connections!! In this article, i am going to deploy a machine learning model inside docker container. To run…

  • Ansible playbook for K8S multinode cluster on AWS

    Ansible playbook for K8S multinode cluster on AWS

    Hello connections!! In this blog i am going setup multi node kubernetes cluster setup on AWS by using Ansible. I wrote…

  • Case Study On AWS SQS Service

    Case Study On AWS SQS Service

    Hello connections, In this blog i am gonna discuss about SQS service of Amazon. What is Amazon SQS ? Amazon SQS is a…

  • Case Study On OpenShift

    Case Study On OpenShift

    Hello Connections, in this blog i am gonna discuss about openshift as a technology and its use cases. what is OpenShift…

  • Apache Webserver and Haproxy server configuration on AWS with Ansible

    Apache Webserver and Haproxy server configuration on AWS with Ansible

    Hello connections, in this blog i am going to configure Apache webserver and Haproxy server on AWS EC2 instance using…

  • GUI Application with docker

    GUI Application with docker

    hello folks!! In this blog i am going to explain how we can run a GUI application on Docker Container. First of all we…

  • Network Topology setup

    Network Topology setup

    Hello Folks!! In this blog i am gonna discuss how we can create a network topology setup. There are three systems…

  • Amdocs with AWS cloud services

    Amdocs with AWS cloud services

    Amazon Web Services (AWS) is an evolving cloud computing platform that provides on-demand service to individuals…

  • Azure Kubernetes Service

    Azure Kubernetes Service

    Kubernetes is by far the most popular container orchestration tool, yet the complexities of managing the tool have led…

  • Neural Network

    Neural Network

    What are Neural Networks? Neural networks are a set of algorithms, they are designed to mimic the human brain, that is…

    1 条评论

社区洞察

其他会员也浏览了