Introduction to Jenkins

Introduction to Jenkins

Introduction

  • Jenkins is an open-source automation tool used for continuous integration and continuous deployment of software applications

History

  • It was created as a fork of the Hudson project in 2011 and has since widely been used as a CI/CD tool

Advantages

  • Jenkins helps developers to collaborate and work on complex environments where they just need to focus on development and the whole deployment into the proper servers is taken care of by Jenkins
  • Jenkins helps developers by giving quick feedback on their code which helps in the early stages of development and can be scaled to accommodate complex environments

  • Jenkins supports a lot of plugins that can be easily integrated with a whole variety of software and programming languages.

Architecture

  • Server: The core server of Jenkins is responsible for executing jobs, storing required data and handling user requests.

  • Plugins: Extensions that help extend the functionality of the Jenkins server by providing the means to integrate with multiple software and source code management tools.

  • Jobs: Basic component of Jenkins which defines a set of tasks and executes them automatically.

  • Trigger: Set of conditions where when satisfied will start executing a job.

  • Nodes: Machines that execute jobs

Working

  • After all the jobs are configured they are attached to a trigger, for example, if code in the git hub is changed or updated the trigger picks it up and runs the job attached which places the code into all of its relevant places in the server

Support and Documentation