We’ve already seen what is DevOps, In this Jenkins introduction tutorial I will be introducing you to Jenkins and deep dive into the depth of Continuous Integration using Jenkins.
What is Continuous Integration?
Continuous Integration is a process or a development practice of automated build and automated test i.e. A developer is required to commit his code multiple times into a shared repository where each integration is verified by automated build and test.
Since the introduction of the CI, multiple things are simplified for example:
Before CI, The entire source code was first build and later it was tested but now with every commit made in the repository is built, tested and feedback is given.
Before CI, Developer’s have to wait for the test result and no feedback was there, But now Dev know the test result of every commit made in the repository on the run with fast feedback.
What is Jenkins?
Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks related to building, testing, and delivering or deploying software.
We can also define Jenkins as open source automated CI/CD tool written in Java for building and delivering the Software Product.
Jenkins was earlier forked from Hudson, It is a server based application which require a web server like Apache Tomcat.
Getting Started with Jenkins?
You can download Jenkins from here and get started, I won’t be spending time on installation and download as the document is precise and up to the mark to assist you.
Advantages of Jenkins?
- It is an open source tool with great community support.
- It is easy to install and getting started.
- It has 1000+ plugins to ease your work. If a plugin does not exist, you can code it and share with the community.
- Jenkins is written in Java hence portable, Platform Independent. Jenkins is available for all platforms and different operating systems, whether OS X, Windows or Linux.
- Most of the integration work is automated. Hence fewer integration issues. This saves both time and money over the lifespan of a project
Alternatives to Jenkins
Let us see some of the alternatives to Jenkins.
Integrity is a continuous integration server which works only with GitHub
IBM UrbanCode Deploy is a CI application. It combines robust visibility, traceability, and auditing feature into a single package.
AutoRABIT is an end-to-end Continuous Delivery Suite to speed up the development process.
Circle CI is a flexible CI tool that runs in any environment like cross-platform mobile app, Python API server or Docker cluster.
Bamboo is a continuous integration build server which performs – automatic build, test, and releases in a single place.
So this was Jenkins introduction tutorial, In the next post we will be seeing Architecture of Jenkins and Master Slave Architecture, Do post your questions in comment sections if you have any.