Packaging and Deployments - kkemple/awesome-enterprise-web-service GitHub Wiki

Packaging

The application is first shrinkwrapped, then the shrinkpack module is used to localize the dependencies by storing the tarballs in the project. This prevents us from having to use any outside registry when we want to build our application at later dates, due to issues with dependency regression or loss.

Deployment

This application is using Circle CI. The web service is containerized and then has the full test suite run against it. Then it is started and pinged via the /api/healthcheck route.

Using Docker containers gives you a single artifact that you can pass through your build pipeline and release into production. It also gives you the added benefit of having backups of every release, everything included.

See circle.yml for build, test, and deploy configuration.