Updated at 2015-07-25 15:07

Jenkins is continuous integration tool written in Java.

It's works best as a building tool, although is can also be used to testing only.

Example task flow using Jenkins and Docker for testing:

1. Jenkins checks latest code from Git
2. Jenkins starts a Docker container on one of the slaves.
3. Container is build using a Dockerfile.
4. Jenkins workspace is attached to container as a volume.
5. Code is compiled and tests are run.
6. Test results are put into the Jenkins workspace.
7. Jenkins copies results back as Artifacts.