Our Evaluation of Jenkins
Jenkins is an open source automation tool written in Java which supports continuous integration. The Hudson project was the precursor to Jenkins which was orignally started by Sun Microsystems, after the acquisition of Sun Microsystems by Oracle, Jenkins was forked from Hudson and its independent community was formed. After this, Jenkins has became the most popular automation tool in software industries.
Simple workflow of how Jenkins works
- Developers change their source code.
- Jenkins picks up the changed source code and triggers a build that runs any tests that are required.
- The build output is available on the Jenkins dashboard. Automatic notifications can be sent to user regarding code status.
This will help us understand CI, CD and Jenkins easily.
Why Jenkins is better than Continuous Integration tools
- Jenkins is widespread.
- It is interconnected very well with over a 1000 plug-ins that allow easy integration with development, testing and deployment tools.
Why Jenkins is good?
- Jenkins is an automation tool that spans the entire development cycle from Building to Deployment.
- Jenkins has over 1400 plugins which helps it to integrate with any other tool across different platforms and framework.
- It has a master-slave architechture and allows us to create nodes depending on the task in hand i.e., you can create different Jenkins node to handle tasks such as build, delpoy, test etc.
- Jenkins supports git and many other version control systems.
- It is most active automation server tool installed in the software industry and is estimated to have more than 1 million users.
- Jenkins uses less memory for installation compared to other automation tools.
- Jenkins can be installed on most popular operating systems.
- The Jenkins community is vastly large and hence we can get support for many of the issues.
Cons of using Jenkins
- Jenkins is not free for private repositories.
- Even though Jenkins can be installed on windows, it does not provide further support for windows users.