Introducing Jenkins
Jenkins is a tool that provides continuous integration services written in Java. Simply speaking, Jenkins' aim is to track changes performed by a software. For example, we have a Rails application that is under a version control system (the Ruby community currently prefers using Git), and we want to run the tests on each commit (or a change) to the project. When the tests fail, we would like to be informed about it via an e-mail. Jenkins could help us in the automation of this process. It may track the changes in the project and send e-mails accordingly.
Note
Git is a famous version control system. More information about Git can be found at http://git-scm.com.
Note that you can set up Jenkins the way you want: for many types of tasks and to handle many events. However, the examples used in this chapter are intended to show you how to use Rake tasks. If you want to know more, please refer to the official documentation at http://jenkins-ci.org.
Now let's understand Jenkins...