What do you like best?
Things that I like arranged sorted by usefulness -
1. * Debug via SSH * - This is pretty much the best feature it has, where you can actively debug your builds when there is a error instead of just failing. As the tests are run on their containers, it gives you full access to the container. No other popular CI server that I know of, like Travis, Appveyor have this kind of feature - most of them only provide read-only log of all builds, they are your only way of understanding which things went wrong in the CI build.
2. Build on Linux + OSX => Most of its competitors like Appveyor and Travis are stuck with only supporting one main platform for building your code and I have been always searching for a good cross-platform solution which works on all 3 major platforms. Although it doesnt meet that standard, OSX support is the missing piece of puzzle as none others actively support OSX right now (Travis are working on it). So, providing Linux+OSX testing makes sure that atleast it works on the major unix-based machines
3. Dependency Cache.- Automagically, the dependency files downloaded in the dependency install step are cached in a system and re-used in the next run. It really speeds up the process.
4. Artifacts with logs - Artifacts are the files you can prepare from the CI server as a output of the build process. they can be used for build purpose as well as logging purpose if you like to deal with log files. It can also be useful for external deployment where you take that file and deploy it yourself.
What do you dislike?
Things are generally seem a bit hard to setup if you are coming from something like Travis CI. It doesnt allow multiple test configurations or test matrix creation natively and this is definitely the biggest thing that I miss in Circle Ci. Other smaller dislikings, in no such order are -
1. Oddly arranged UI - I sometimes cant find the stuff where I expect them to be and they are either shown using not understandable icons or small text. For eg, when you try to import a project from Github, forked repos are not shown and the only way to show them is by checking a "Show forks" option which is not well highlighted and I first thought it cant even show the forks or it is a bug, as forked repos are so common. Also, similarly the "add repos" button is on the side, but oddly not on the top where you expect them but the third one, with a not so understandable icon.
2. Unstable relative to Travis CI and sometimes weird bugs popup regarding 3rd party integrations. To its benefit, it has good open bug tracker in place.
3. No pre-installed python interpreters, atleast not named in default configuration - so you might have to write another config file for it, which is usually OK but hard to maintain when you are dealing with another CI too.
Recommendations to others considering the product
Currently, there are 3 popular CI in the market
1. Travis CI
3. Circle CI
Circle CI is the least known, but the most-featured, almost the same as Appveyor but both serve mutually exclusive platform, so there is need to use both. Travis clearly falls behind Circle CI in this matter, but has a lot of visibility and is simple to use for starters - so Travis is the leading CI server right now. But I can give you my words, Circle is so much more powerful if you give it a spin.
What business problems are you solving with the product? What benefits have you realized?
Problem - Testing internal python modules on different OS and compiling them into system-specific platform packages. Because there is no single CI which supports all platforms, we needed to pair it up with a windows-supported CI like appveyor.
Benefits - For supporting linux, we first tried out Travis CI and was happy with it. Then came along Circle CI, which is not as popular as Travis but really has a lot of features (mentioned first) and supports both Linux + OSX with containers. It was a win-win for us because we could test on OSX too now, which Travis doesnt support right now. Setup was easy, but we still needed to setup python interpreters on it with custom circle.yml file. After that, everything went smooth and build got triggered properly and ran pretty fast due to awesome caching - even faster than Travis.
In short, it worked great and we really understood how much more any other CI could offer, just by trying out Circle CI. They do have a lofty vision for CI.