4 ms·
We (Circle - https://circleci.com https://circleci.com) make continuous integration as-a-service, so I can talk about what we do, and what a lot of customers do
by pbiggar 14y ago
We (Circle - https://circleci.com https://circleci.com) make continuous integration as-a-service, so I can talk about what we do, and what a lot of customers do.
So we and all our customers build all branches on every push, connected to GitHub. That's how we work and what nearly all of our customers want.
We run all tests on every push, including javascript and selenium tests. Tests always run on a clean environment, so we install dependencies, create a fresh database each time, etc.
At the end, if tests have passed, many customers do continuous deployment by pushing to Heroku, or running Fabric/Capistrano scripts (Circle has special SSH key management so that you can keep this secret from your team without putting it in your repository).
Our code base uses a slightly different form of continuous deployment. When tests pass, we merge the code into the production branch, and our auto-scaling infrastructure just starts new boxes with the latest commit from the production branch.
We've talked to others about their procedure. One that comes up a bit is people who package up their code upon successfully testing it via CI, and then download it and deploy it whenever they scale.
Hope that helps, happy to go into more detail.