What is Jenkins:-
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)
what is continuous integration:-
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 same web application,we need to do integration test by integrating all modules.
so we need a automated process to which each piece of code is tested for each new code changes, 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 jenkins server by adding differnt plugins
Jenkins is used to automate 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 colover 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 repositires like 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 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. Easy find out of bugs at early stage in development environment than production
plugins are developed in java, can be added to jenkins to get more functionality. java plugins are easily install able
Please +1 if you like this post