AWESOMIFY DEV

What's Happening with Select?

Part II

Topics

  1. Observation
  2. Enter The Docker
  3. Environments
    • Dev Laptop
    • TeamCity
    • Sandbox

Observation

Feedback Loops

Customers

Linux not Mac

FeedBack Loops

Turnaround Time to Discover/Fix Bug

Solutions

Linux on Developer Laptop

  • Needs to be Easy to Use
  • Need to Debug
  • Need instant results

Solutions

Regularly Run Unit Tests

  • Where? When?
    • Developer Laptop
    • CI Build Server
    • Per PR (Pull Request )
  • Results
    • Intuitive Results
  • Feedback
    • Notifications

Solutions

Debugging on Sandbox

  • Unique Condition on Sandbox
  • ​Customer Data Cannot Be on Laptop​

Enter the Docker

Rawr!

Many Tools

Early Efforts

Vagrant

  • rapid tool building in Linux environment
  • demo environment
  • testing Docker containers
  • initial mocha tests did not work on Linux
  • slower (rebuild from scratch)

Docker

  • docker used in production

  • fast (cached image layers)

Dynamic Docker

  • unit tests require test environment

  • production environment only supports production

NODE_ENV=test
NODE_ENV=prod

Team City

with Docker

Demo

Unit Tests

Notifications

Unit Tests

Test Results

Unit Tests

Build Logs (Collapsible)

Developer Laptop

with Docker

Demo

Sanbox

Debugging Docker

Demo

Create Tunnel

Start Debugging

The End

Made with Slides.com