Historical System:
- Node Web Application (express, sequelize) w/ unit tests on Mocha, database = postgres
- Development/Testing is done on Mac OS X using RubyMine
- CI system (TeamCity) builds a docker container and uploads it to dockerhub
- Deployment is with Ansible to configure an environment for use with the docker image and deploys the container into production
- Production = AWS ec2 w/ elbs + az
After I came onboard, I am working on developer tooling, starting with vagrant and migrating to docker-compose to support dynamic runtime environments for docker images. I am scheduling regular tooling with TC CI using docker-compose to bootstrap environment to run unit tests with mocha, and using a teamcity mocha reporter for the output, with results propagated to slack.
I'm currently researching how to setup remote debugging scenarios to docker containers using RubyMine, and also GitHub hooks for PR (pull requests) to trigger unit tests. Maybe have results or a badge reported in the PR, and think of a scheme to tag a branch with testpass or testfail or some scheme to block it form being merged, or deployed. New to this, so just fumbling along to it works nicely.