Continuous Integration and Continuous Deployment with Node.js
CircleCI has great support for Node.js applications. We inspect your code before each build to infer your settings, dependencies, and test steps.
If your project has any special requirements, you can augment or override our inferred commands from a circle.yml file checked into your repo’s root directory. You can also add deployment commands that will run after a green build.
If you don’t want to use the default, you can specify your version in
machine: node: version: 0.10.22
If CircleCI finds a
package.json, we automatically run
npm install to fetch
all of your project’s dependencies.
If needed, you can add custom dependencies commands from your circle.yml.
For example, you can override our default command to pass a special flag to
dependencies: override: - npm install --dev
If you need to authenticate with
npm before downloading dependencies,
instructions are available here.
We have pre-installed more than a dozen databases and queues, including PostgreSQL and MySQL. If needed, you can manually set up your test database from your circle.yml.
CircleCI will run
npm test when you specify a test script in
We also run your Mocha tests as well as run any
test targets in Cakefiles or Makefiles.
You can add additional test commands
from your circle.yml. For example, you could run a custom
test: post: - ./test.sh
CircleCI offers first-class support for deployment.
When a build is green,
CircleCI will deploy your project according to the configuration in your
We can deploy to other Platforms as a Service (PaaS) providers as well as physical servers you manage.