continuous delivery of danbury.io, part 1

16
CONTINUOUS DELIVERY FOR danbury.io Brian R. Jackson February 11, 2015

Upload: brian-jackson

Post on 14-Aug-2015

320 views

Category:

Software


0 download

TRANSCRIPT

CONTINUOUS DELIVERY FOR danbury.io

Brian R. Jackson February 11, 2015

A QUICK DEMO

A DEVELOPER SERIES

• The Site Architecture

• Building, Running and Deploying

• Automated Testing

• Continuous Delivery

• Pull Request Testing

SITE ARCHITECTURE

• Front-end design with Angular.js

• CSS simplified with Compass

• Back-end APIs with Node.js

• Data Storage with MongoDB

BUILD, RUN, DEPLOY

• Managing web dependencies with Bower

• Building with Grunt

• Running locally with foreman

• Deploying to Heroku

TESTING

• Unit testing with Karma

• Behavior-driven development with Cucumber

• Browser testing with Selenium

CONTINUOUS DELIVERY

• Code management with Git

• Collaborating using Github

• Test and Deploy with Snap-CI

PULL REQUEST TRACKING

• Developer submits a proposed change

• Automatically deploy an instance of your application

• Manually test, validate, review before it goes live on your site.

A DEVELOPER SERIES

• The Site Architecture

• Building, Running and Deploying

• Automated Testing

• Continuous Delivery

• Pull Request Testing

SITE ARCHITECTURE

• Front-end design with Angular.js

• CSS simplified with Compass

• Back-end APIs with Node.js

• Data Storage with MongoDB

OPEN SOURCE!

• Didn’t start from scratch

• danbury.io is forked from newhaven.io

• You can fork it too

• Sharing is caring!

ANGULAR.JS• A templating language that runs in the

browser, not on the server.

• Automatic data-binding

• Controllers for behavior

• Server Communication

• Create reusable components

• Embeddable, injectable, testable

COMPASS

• Sass is an extension on top of CSS3

• Compass extends Sass

• Create sprites

• Add mixins

• Great for designers who want to enforce vertical rhythm

GUMBY

• A CSS framework for responsive sites

• Extends Compass

NODE.JS

• Server-side JavaScript

• Built on Google’s V8 Interpreter

• dependency management with node package manager (npm)

MONGODB

• An open-source JSON-style document database

• Distributed: auto-sharding, replication, high availability

• Flexible aggregation and processing with map/reduce