Continuous Delivery... The Ruby Way - SilverStripe and Capistrano Working Hand in Hand

45
Continuous Delivery… The Ruby Way Matthew Rayner

Transcript of Continuous Delivery... The Ruby Way - SilverStripe and Capistrano Working Hand in Hand

Continuous Delivery… The Ruby WayMatthew Rayner

Continuous Delivery… The Ruby WayMatthew Rayner

What’s with the title?

I love shipping

Icon by Madebyoliver from www.flaticon.com

I Love Ruby

Icon by Madebyoliver from www.flaticon.com

I Love SilverStripe

Icon by Madebyoliver from www.flaticon.com

I’m a lazy developer

Icon by Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

I hate uploading files

Icon by Madebyoliver & Freepik from www.flaticon.com

– capistranorb.com

“A remote server automation and deployment tool written in Ruby.”

cap production deploy

cap production deploy

cap production deployEnvironment

cap production deployEnvironment Task

Why is Capistrano great?

Why is Capistrano great?

• It does the heavy lifting for you

Why is Capistrano great?

• It does the heavy lifting for you

• It gets out of your way

Why is Capistrano great?

• It does the heavy lifting for you

• It gets out of your way

• It comes with ‘sensible defaults’

Why is Capistrano great?

• It does the heavy lifting for you

• It gets out of your way

• It comes with ‘sensible defaults’

• It’s flexible and easily extendable

It tries to make deployments as safe and fault-tolerant as possible

A useless tasksimple

A useless task

1. Connect to the three servers in parallel

simple

A useless task

1. Connect to the three servers in parallel2. Get their uptime

simple

A useless task

1. Connect to the three servers in parallel2. Get their uptime3. Report it back

simple

Capistrano Hooks

Capistrano Server Side

– I probably said something like that earlier

“Capistrano allows you to write your own commands and scripts.”

What is SilverStripe Capistrano?

What is SilverStripe Capistrano?

• A set of ‘tasks’ for Capistrano designed to automate deployments on SilverStripe

What is SilverStripe Capistrano?

• A set of ‘tasks’ for Capistrano designed to automate deployments on SilverStripe

• Should make it easier

What is SilverStripe Capistrano?

• A set of ‘tasks’ for Capistrano designed to automate deployments on SilverStripe

• Should make it easier

• Should make it safer

What is SilverStripe Capistrano?

• A set of ‘tasks’ for Capistrano designed to automate deployments on SilverStripe

• Should make it easier

• Should make it safer

• Should make it more fun to ship!

The demo of DOOM

Thanks!@mattrayner