This post will walk through setting up a continuous integration,
deployment, and testing pipeline for a Node.js app using CircleCI,
Heroku, and Assertible.

Continuous integration is large part of modern development
workflows. Most of us are familiar with basic CI services that
automatically build code as new changes are pushed. But what if you
took that a step further and not only built your code, but also
deployed and tested it within the same pipeline? This is
continuous development.

This code makes request to the
Assertible
deployments API.
When you send a deployment event to Assertible, your API tests are run
against the live app. This is post-deployment testing, a part of
automated QA testing.

In the test result below, you can see that Assertible ran tests and
assertions against the new deployment. It even says what commit the
deployment was from:

Continuous testing is important for any team or developer releasing
software. Automating API and QA tests not only saves time, but
covers bugs and issues faster than traditional, manual testing
methods.

Continuous testing is important for any team or developer releasing
software. Automating API and QA tests saves teams time by
identifying broken deployments without manual intervention and
provides a baseline quality for your application.

When you deploy to a staging environment from a GitHub pull request,
Assertible will show a status check for API test results that ensures all of your API tests
are passing before the new changes are merged. Awesome!

Resources and examples

More automation and integrations

There's even more you can automate, check out some of these resources:

Heroku has a ton of addons you
can use to automate various parts of your build.

Nothing about this pipeline is specific to GitHub, CircleCI, Heroku,
or even Assertible. Learn more about setting up this pipeline with
different CI providers, like Wercker, in
the
assertible/deployments
repo.