Circle CI

Circle CI is a popular SaaS based continuous integration tool. With Circle CI, it is mandatory to have a Github Account to sign up. However, once we signup, we can integrate Circle CI with BitBucket as well. Basic idea is that users will integrate their Github and/or BitBucket account with Circle CI. The repository on which you want to run tests will have a yaml file called circle.yml. This file will define the environment, the tests and several other test parameters.

We are going to use a simple circle.yml for test out our sample app. Our yml file defines the runtime for our Python application. We can set environment by installing various packages using pip and other system commands.
Circle Ci will try to guess how to run our tests. However, if we want to supply the information on how to run the tests by ourself then we can do so.

Circle CI's interface looks nicely polished.

On top left side, there success or failure of the test is reported prominently. We an schedule rebuild easily by clicking on top right rebuild button.
We can check out various parameters like artifacts, test execution timing and circle.yml configuration from build page itself.

The best feature, which we absolutely love, is "Debug via SSH". Using this, we can get shell access of the container/virtual machine where the tests ran. This is very helpful when we have to debug failed builds.

All the steps that are involved in running the build are documented on the build page.

Circle CI also supports Teams and Organizations as supported by Github. However, if you do not use Github teams then this feature might not interest you.