devops toronto meetup - artifact deploys

20
Bijan Vaez Co-Founder and CTO @ EventMobi Artifact Deploys with Debian @bijanv

Upload: bijanv

Post on 12-Jul-2015

148 views

Category:

Technology


0 download

TRANSCRIPT

Bijan Vaez Co-Founder and CTO @ EventMobi

Artifact Deploys with Debian

@bijanv

Instant Updates and Feedback Real-time Audience Response

Full customizability Gamification

etc

The easiest way to build a custom event app

DevOps?

Must be FAST + PAINLESS + AUTOMATED

Arguable the single most important duty in your daily work

The Ideal Deployment System

One Click / Single Button

The Ideal Deployment System

Predictable

The Ideal Deployment System

Continuously Deployable

The Ideal Deployment System

Anytime

Anywhere

By Anyone

The Ideal Deployment System

Reliable

The Ideal Deployment System

Easy Rollbacks

The Ideal Deployment System

No Downtime

The Ideal Deployment System

Scalable

The Ideal Deployment System

Secure

The Ideal Deployment System

Most Importantly

Zero Dependencies!!!!

The Ideal Deployment System

Decouple The Process

Build / Compile should not

happen on prod systems

(not predictable)

How We Do It

1.  Code Checked into Master branch 2.  Jenkins picks up the change 3.  Launches prod like environment through VMs 4.  Compiles / Builds environment & app 5.  Runs Full Test Suite 6.  All green? Package the app into .deb 7.  Version and tag it 8.  Sign the package 9.  Upload to own apt-get repo source on S3 10. Wait for Deploy Command (triggered by Chef)

How We Do It

•  Packaging app into apt-get repo is a single command

•  Can be done by anyone, anywhere, anytime

•  Doesn’t have to be through build server o Trust your people!

Why Deb?

•  Single Artifact is source of truth of app •  Deb Packages are meant for this. Have

been around for decades, solved most if not all issues re installations

•  Handles OS level dependencies •  Handles versioning, upgrading, rollbacks

o Can even set up symlink deploys a la Capistrano

•  No dependency!

Common Q’s

•  What dependencies go where?

•  What if I’m not running Debian?

•  Don’t know how to get started

Thank You!

@bijanv

Bijan Vaez