Comparison of Continuous Integration Tools

A review of the features offered by Travis CI and Circle CI

2 min read ⋅ 204 views


Continuous Integration represents the process of automatically testing and building the code after every new change to the current version control. CI offers developers an option to share their code and unit tests by merging their changes into a shared version control repository after every small task completion. After every code commit, there is a trigger that automatically builds system to grab the latest code from the shared repository and to test, validate, and build master branch. By integrating regularly, you can detect errors quickly, and locate them more easily. With Continuous integration, your organization can benefit from catching issues early, Increase visibility, spend less time debugging and more time adding features, stop waiting to find out if your code’s going to work etc.

Travis CI

Travis CI was the first CI as a Service tool, introducing the new approach of building code in the cloud. Travis users could easily sign up, with few steps link their repository, and after that start building and test their app. Travis can be integrated very easily with the cloud repositories such as GitHub and BitBucket and with the simplicity of the build process it allows inexperienced users to easily start building their code, discover project types and structures automatically, and most important open-source projects for free.

Travis pros and features:

  • Comes with free cloud-based hosting that requires no maintenance or administration.
  • Capable of running tests on Linux and Mac OS X simultaneously.
  • Supports the following languages: Android, C, C#, C++, Clojure, Crystal, Julia, Objective-C, Perl, Perl6, PHP, Python, R, Ruby, D, Dart, Erlang, Elixir, F#, Go, Groovy, Haskell, Haxe, Java, JavaScript (with Node.js), Rust, Scala, Smalltalk and Visual Basic.
  • Lightweight and easy to set up.
  • Free for open source projects.
  • No dedicated server needed.
  • Build a matrix feature.


Circle CI

Circle CI continuous integration and delivery platform help software teams rapidly release code with confidence by automating the build, test, and deploy process. CircleCI is a modern continuous integration platform that could be scaled easily, helps teams ramp quickly and build successfully every day.

Circle CI pros and features:

  • CircleCI is a cloud-based system — no dedicated server required, and you do not need to administer it. However, it also offers an on-prem solution that allows you to run it in your private cloud or data center.
  • It has a free plan even for a business account.
  • It offers Rest API from which you have an access to build, artifacts and projects.
  • CircleCI caches requirements for installation. It will check all of the 3rd party dependencies instead of constant installations of the environments needed.
  • Connect with ssh into a build and check all of the logs, processes that are running, etc.
  • That’s completely out of a box solution that needs minimal configuration\adjustments.
  • Languages: Python, Node.js, Ruby, Java, Go.
  • Compatible with: Ubuntu (12. and 14 version), Mac OS X (paid accounts), Github, Azure, AWS, Bitbucket, Docker, Heroku, Jira, Slack, HipChat etc.
  • Fast start.
  • CircleCI has a free plan for enterprise projects.
  • It’s easy and fast to start.
  • Lightweight, easily readable YAML config.
  • You do not need any dedicated server to run CircleCI.

Summary

Both could be set up with YAML file in the source repository.

Travis officially supports 29 languages, Circle CI officially support 9.

Travis is free for open-source and paid otherwise, while Circle has a free single slot available and discount for open-source projects for higher tiers.

Both are cloud-based and have the support of Docker to run tests.

Awesome List of Continuous Integration services 




MORE ARTICLES

Primitive Data Types in Python 3

Introduction to Python primitive data types

Continuous Integration: code quality and code review tools

Continuous integration best practices tools

Introduction to AWS Lambda

AWS Lambda: Run code without thinking about servers