Jenkins is open source tool developed for Continuous integration purpose
Sun has developed Hudson for building Java projects, after Oracle acquisition, Hudson is renamed as Jenkins (forked code base and enhanced by adding different plugins)
In software development, when we developed any code, developers compile the code using maven and run the test cases for the code, if failure happens, we will fix the code. For each code, we need to do manually.
but if multiple teams/developers are working on different modules of the same web application, we need to do integration test by integrating all modules.
so we need an automated process to which each piece of code is tested for each new code changes, the developer will fix the issues in case integration issues daily bases so that all your code is tested daily.
Jenkins server provides continuous integration platform and test driven development
Jenkins is open source which is plugin based development, you can extend the Jenkins server by adding different plugins
Jenkins is used to automating build and deployment process
jenkins is mainly integrated with two components
1. Version Control system like SVN, GIT 2. Build tools like apache maven.
Jenkins Continous integration server is developed in Java, can be installed on tomcat or jetty application server. Jenkins can be extended by adding more plugins
Jenkins Continuous integration API features:-
1. Generate code clover reports and module build status 2. Integrated with different build systems like ant,gradle, and maven 3. Integrate with different source code repositories like svn, CVS, and Git 4. released/snapshot modules are pushed to different repositories like the nexus 5. Deploy Java projects to test, stage and Production environment 6. build status like success or failure are notified to developers
Advantages of Jenkins:-
1. Build failures are cached at the integration stage. 2. Automatic build report notification for each code commit changes 3. Jenkins is integrated with LDAP mail server to notify developers about build report failure or success 4. achieve Test Driven development and continuous integration agile development 5. maven release projects is automated with simple steps 6. Easily find out bugs at an early stage in a development environment than production
plugins are developed in Java, can be added to Jenkins to get more functionality. java plugins are easily installable
Please +1 if you like this post