Jenkins is a Continuous Integration server.

Basically Continuous Integration is the practice of running your tests on a non-developer machine automatically everytime someone pushes new code into the source repository.

This has the tremendous advantage of always knowing if all tests work and getting fast feedback. The fast feedback is important so you always know right after you broke the build (introduced changes that made either the compile/build cycle or the tests fail) what you did that failed and how to revert it.

If you only run your tests occasionally the problem is that a lot of code changes may have happened since the last time and it is rather hard to figure out which change introduced the problem. When it is run automatically on every push then it is always pretty obvious what and who introduced the problem.

Built on top of Continuous Integration are Continuous Deployment/Delivery where after a successful test run your instantly and automatically release the latest version of your codebase. Makes deployment a non-issue and helps you speed up your development.

There are lots of Alternatives to Jenkins, both standalone and hosted (full disclosure I am the founder of a hosted solution).

Advantages of Jenkins

Jenkins is an open source tool with much support from its community.
Installation is easier.
It has more than 1000 plug-in to make the work easier.
It is easy to create new Jenkins plugin if one is not available.
It is a tool which is written in Java. Hence it can be portable to almost all major platforms.

Boost your business now

We can help you improve customer service interactions including identifying the best solution, integration with your existing environment, and ongoing operations.