Improve Productivity, Reduce Risk, and Scale with CircleCI

Speed up your testing and development cycle, CircleCI is flexible to run in your environment and scale with your growth. Have peace of mind by reducing bugs and improving the quality of your app.

sign up for free

CircleCI works with your tools

Whether you’re building a cross-platform mobile app backed by a Python API server on Heroku or you’re building a Rails app with an Ember.js frontend that you deploy to a Docker cluster, you can test everything on CircleCI.

Frontend

Run thousands of Jasmin unit tests with PhantomJS. Run Cucumber specs against your Rails app with Chrome Driver with 20 different strongly-isolated server / client pairs in parallel. Ruby, Python, Java, Node, Go, and more. CircleCI is flexible to work in your environment.

Backend

Whether you have a Rails monolith or a network of Node.js microservices, CircleCI can handle any backed platform that runs Linux. We also support dependencies from Postgres to Docker or anything else you care to sudo apt-get install. Oh and did we mention we run everything really fast?

Mobile

Android or iOS, hybrid or native, you can build and test your mobile app on CircleCI. Got some backend services for your mobile app? Let us build, test and deploy those for you.

Learn more about mobile on CircleCI.

Docker

CircleCI has been built on Linux containers from the start so when Docker took off, we were excited for a chance to put our container skills to work for our customers. Anyway, we think we’ve built the best solution to taking your app from Docker files to production.

Learn all about Docker on CircleCI.

We take your app from source code to production

A good test suite is a very useful tool to ensure you ship quality features to your customers quickly, but it's not the beginning or the end of the journey. The moment you push a commit to GitHub, CircleCI springs into action, pulling down all your latest code from any branch, building and testing, and (optionally) deploying your code to staging or production servers.

1. Source

CircleCI builds start right away with a hook from GitHub. No plugins to worry about, and no polling. Granular checkout key options support pulling from multiple projects and our source caches ensures that checkouts are lightning-fast.

2. Resolve Dependencies

CircleCI automatically uses language-specific tools like rvm and virtualenv to ensure dependencies are installed into an isolated environment. After the first build, the CircleCI dependency cache saves all your dependencies so they can be re-installed in no time from the next build moving forward.

3. Build

Not every language requires a compilation step, but if yours does, we're standing by with all of your favorite build tools. We have compilers for Java (many versions), Scala, Haskell, CoffeeScript, Less, and more ready to go. We also support your favorite build tools, like Gradle, Maven, Leiningen, and Cabal. Perhaps you're writing Smalltalk or OCaml, well those might not be preinstalled, but you can always sudo apt-get to suit your build environment.

4. Test

It goes without saying that CircleCI should be really smart about running your tests. We think we do it better than anyone else with our automatic test parallelization and detailed test failure reporting. CircleCI has first-class support for a pile of test runners, from RSpec to Nose, but we can handle anything that returns an exit code.

5. Debug

Have you ever been vexed by a mysterious failure on CI when your builds pass locally? Did you have to assemble a task force of team leads and build engineers to figure out why? On CircleCI, developers get easy, secure SSH access to any build for fast, self-service debugging. It's also trivial to save any verbose logs as CircleCI Artifacts for further inspection.

6. Deploy

Once you have fully automated your build and test process, you can take it to the next level with simple, automated deployment. CircleCI makes it easy to deploy to any host with an API (that's basically all of them). For the seed-stage startup types, you can have every successful build on master trigger a push to production. Others can setup a workflow with dev, staging, and production branches for a simple, lightweight CD pipeline.

7. Notifications

With support for every major team chat tool and email notifications, you don't have to go out of your way to know when a CircleCI build needs your attention. Build failure notifications include info about exactly which tests fail, so you can get things fixed in no time.