Jenkins a very reliable , ideal and honest servant you will never find in real life🙌. Come on you might say that I know a honest server near me but bro you just can’t find anybody who is ready to serve you always. These statements fit perfect to our real Jenkins as DevOps tool.
Jenkins formerly also known as Hudson not any special reason to it. Just the fact that Hudson was name given by former company (Probably named Sun 🤔) and when this open source project was taken over by Oracle , they renamed it to Jenkins.
What is Jenkins ?
Jenkins is a very light opensource tool which can controls software delivery processes , builds tasks on trigger, do testing , make package, do the deployment, analyse static code and many more.
Jenkins power comes from plugins .There’s no need for us to make our applications heavy and this is the reason why Jenkins make use of plugin strategies and comes with call on need strategy.
Jenkins is one of the important aspects of DevOps Industry since it plays a vital role in every kind of automation . Many a times its Jenkins only which removes silos between Developers and Operation guys. Hey wait ✋what is a a silo
Note: Silos ->Developers are focused upon development and Operation guys are focused on deployment and troubleshooting stuffs. Due to lack of interaction between them , there are always some point where there is no contact this is known as Silos.
For example:- When code is developed , who will tell operators . This is where automation becomes necessary
- Jenkins with GitHub
Jenkins has a lot of plugins to get attached with the API of GitHub and get the tasks done.
In the above task we can see that a Git plugin is attached with Email . Using this we can trigger Git Hooks, Poll SCM or maybe we can do Schedule based Trigger based upon our needs.
Triggers may also be used to send emails on calling of particular job.
2. Jenkins with Apache Maven
You might know Maven or not . Maven is just an automation tools which can build packages of .jar , .war by compiling the java codes.
Sometimes we need to compile some codes which will be received in the middle of some tasks in such cases we can also make use of maven plugins and set various constraints for various tasks in a job
3. Jenkins and Docker
Jenkins can also be utilized for creating docker images by retrieving the Dockerfile from GitHub , build the images out of it , push to the docker registry and maybe also utilize this images for further tasks.
This setup also becomes very powerful for upgrade strategies in case of setup running containers .
Our DevOps scheme says that in order to achieve CI/CD we need some kind of program which can continuously integrate and develop and this is where Jenkins pipelines comes into play.
Pipelines are used to intricate all of selected jobs under different conditions and these pipelines follow definite lines under different conditions so one pipe may lead to first pipe if Job fails , might lead to second pipe if Jobs passed or maybe if timeout happens then follows the third job.
The overall need of Jenkins is to manage all my tasks and make a pipeline out of it using various job intrication.
There a no end list for a lot of utilization of Jenkins in automation by combining it with tools like terraform , email, docker , AWS and other clouds .So lets just make it till here . One you will start working on tool , you will realize the importance😎.