Testing/CI Tools Comparison
It is essential to understand the difference between CI and CD
before we move to comparisons.
Continuous Integration (CI)
is about everyone merging code changes to a central repository
multiple times a day. "Each merge triggers an automated build
and testing sequence for the given project.
Continuous Delivery (CD) is a practice of automating the entire
software release process. The idea is to do
CI, plus automatically prepare and track a release to
production. The desired outcome is that anyone with sufficient
privileges to deploy a new release can do so at any time in one
or a few clicks. By eliminating nearly all manual tasks,
developers become more productive." (
https://semaphoreci.com/blog/2017/07/27/what-is-the-difference-between-continuous-integration-continuous-deployment-and-continuous-delivery.html )
Here are some of the major testing/continuous integration tools and their features:
-
Jenkins
Our evaluation of Jenkins -
Travis CI
Our evaluation of Travis -
GoCD
Our evaluation of GoCD
We have chosen Jenkins as our continuous integration tool
because:
a) It gives us various options to customize with plugins
b) It is windows compatible
(Many students in the class use the windows platform)
c) It has amazing amounts of resources and a great community