If ever you worked to manage a stable software, Was you afraid of allowing developers to change source code? It is genuine fear due to possible breakage of software feature. An incorrect change can break build system, can make software unusable. So, after changes, there should be a way to validate that things are not broken. If this approach can be automated, it will be great. Jenkins help in this regard.
In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day. The main aim of CI is to prevent integration problems,
Jenkins helps to automate the non-human part of the whole software development process, with now common things like continuous integration, but by further empowering teams to implement the technical part of a Continuous Delivery. It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant and Apache Maven based projects as well as arbitrary shell scripts and Windows batch commands.
https://en.wikipedia.org/wiki/Continuous_integration
https://en.wikipedia.org/wiki/Jenkins_(software)
https://www.atlassian.com/blog/continuous-delivery/practical-continuous-deployment
https://blog.assembla.com/assemblablog/tabid/12618/bid/92411/continuous-delivery-vs-continuous-deployment-vs-continuous-integration-wait-huh.aspx