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.ymlfor build, test, and deploy configuration.