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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.