WordPress London Developer Operations For Beginners

53
WordPress DevOps For Beginners http://poweredbycoee.co.uk Stewart Ritchie @stewartritchie stewart@poweredbycoee.co.uk

Transcript of WordPress London Developer Operations For Beginners

Page 1: WordPress London Developer Operations For Beginners

WordPress DevOps For Beginners

http://poweredbycoffee.co.uk

Stewart Ritchie @stewartritchie [email protected]

Page 2: WordPress London Developer Operations For Beginners

This is NOT a Tutorial

http://poweredbycoffee.co.uk

Page 3: WordPress London Developer Operations For Beginners

What is Dev Ops anyway?

http://poweredbycoffee.co.uk

Page 4: WordPress London Developer Operations For Beginners

Why is Dev Ops Important?

http://poweredbycoffee.co.uk

Page 5: WordPress London Developer Operations For Beginners

1. DevOps will make you a better developer.

http://poweredbycoffee.co.uk

Page 6: WordPress London Developer Operations For Beginners

2. DevOps will help you deliver better work to your clients

http://poweredbycoffee.co.uk

Page 7: WordPress London Developer Operations For Beginners

3. DevOps helps move WordPress into bigger companies and opportunities

http://poweredbycoffee.co.uk

Page 8: WordPress London Developer Operations For Beginners

How Does Dev Ops Help?

http://poweredbycoffee.co.uk

1. Collaboration

2. Code Sharing

3. Automation

Page 9: WordPress London Developer Operations For Beginners

1. Collaboration

http://poweredbycoffee.co.uk

Page 10: WordPress London Developer Operations For Beginners

Version Control

http://poweredbycoffee.co.uk

Easy for developers to collaborate

A hardened nuclear bunker for your source code

Makes it easy to have more that one version of your project!

Basically a time machine

Page 11: WordPress London Developer Operations For Beginners

What is a “Commit”?

http://poweredbycoffee.co.uk

Page 12: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 13: WordPress London Developer Operations For Beginners

Merging Version Control

http://poweredbycoffee.co.uk

- Gives you the ability to manage different versions of your software

- Development, Staging & Production

- Approve code to move up the versions into production

Page 14: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 15: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 16: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 17: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 18: WordPress London Developer Operations For Beginners

http://poweredbycoffee.co.uk

Page 19: WordPress London Developer Operations For Beginners

2. Code Sharing

http://poweredbycoffee.co.uk

Page 20: WordPress London Developer Operations For Beginners

Dependencies

http://poweredbycoffee.co.uk

Page 21: WordPress London Developer Operations For Beginners

WordPress Has Dependencies

http://poweredbycoffee.co.uk

- Diff by Geoffrey T. Bairiki

- ID3 by James Heinrich

- BackBone & Underscores

Page 22: WordPress London Developer Operations For Beginners

The Problem with dependancies is that they can change

http://poweredbycoffee.co.uk

Page 23: WordPress London Developer Operations For Beginners

What About Your Project?

http://poweredbycoffee.co.uk

Page 24: WordPress London Developer Operations For Beginners

Your Dependancies - have dependencies

http://poweredbycoffee.co.uk

Page 25: WordPress London Developer Operations For Beginners

What About Your Project?

http://poweredbycoffee.co.uk

Page 26: WordPress London Developer Operations For Beginners

This Sounds Like a Nightmare

http://poweredbycoffee.co.uk

Page 27: WordPress London Developer Operations For Beginners

getcomposer.org

Page 28: WordPress London Developer Operations For Beginners
Page 29: WordPress London Developer Operations For Beginners
Page 30: WordPress London Developer Operations For Beginners

Composer & WordPress

http://poweredbycoffee.co.uk

https://core.trac.wordpress.org/ticket/23912

https://core.trac.wordpress.org/ticket/36335

Page 31: WordPress London Developer Operations For Beginners

bower.io

Page 32: WordPress London Developer Operations For Beginners

Can Bite You

http://poweredbycoffee.co.uk

Page 33: WordPress London Developer Operations For Beginners

Easy Ways To Get Started

http://poweredbycoffee.co.uk

Page 34: WordPress London Developer Operations For Beginners

3. Automation

http://poweredbycoffee.co.uk

Page 35: WordPress London Developer Operations For Beginners

Repetition Sucks

http://poweredbycoffee.co.uk

Mistakes Get Made

People Get Bored

Creative people usually don't like to do the same thing over and over again.

Not a good use of skills and talent

Page 36: WordPress London Developer Operations For Beginners

Need to do it twice?

http://poweredbycoffee.co.uk

Page 37: WordPress London Developer Operations For Beginners

Need to do it twice?

Automate it.

http://poweredbycoffee.co.uk

Page 38: WordPress London Developer Operations For Beginners

Good Candidates for Automation

http://poweredbycoffee.co.uk

Deployments

Compiling Assets (Sass, CoffeeScript, etc)

Compressing Images

Setting up servers

Installing WordPress

Page 39: WordPress London Developer Operations For Beginners

I Hate FTP

http://poweredbycoffee.co.uk

Page 40: WordPress London Developer Operations For Beginners

Automated Deployments

http://poweredbycoffee.co.uk

No more slow or failed FTP transfers

Easily tied into your version control

Easily undo a mistake

Get new code into production with a few key stokes or clicks

Page 41: WordPress London Developer Operations For Beginners

http://capistranorb.com

Page 42: WordPress London Developer Operations For Beginners

Capistrano

http://poweredbycoffee.co.uk

- Scriptable and self-installed

- Ruby

- Task Based

- Logs in to your server, pulls from your Version Control, runs a series of tasks

you tell it to.

- Super powerful and flexible

Page 43: WordPress London Developer Operations For Beginners

Deploy HQ Deploy Bot Buddy

Page 44: WordPress London Developer Operations For Beginners

DeployBot (etc)

http://poweredbycoffee.co.uk

- Many of these services exist

- Hard to configure but just works when its done

- $/£/€

- Less control and less flexible but easier to setup

Page 45: WordPress London Developer Operations For Beginners

Standardising Environments

http://poweredbycoffee.co.uk

Page 46: WordPress London Developer Operations For Beginners

Use Virtual Machines

http://poweredbycoffee.co.uk

Page 47: WordPress London Developer Operations For Beginners

vagrantup.com

Page 48: WordPress London Developer Operations For Beginners
Page 49: WordPress London Developer Operations For Beginners

Concluding

http://poweredbycoffee.co.uk

Page 50: WordPress London Developer Operations For Beginners

Its going to take a while

http://poweredbycoffee.co.uk

Page 51: WordPress London Developer Operations For Beginners

These aren’t WordPress Skills

http://poweredbycoffee.co.uk

Page 52: WordPress London Developer Operations For Beginners

They are Professional Development Skills

http://poweredbycoffee.co.uk

Page 53: WordPress London Developer Operations For Beginners

Where To Go Next?

http://poweredbycoffee.co.uk

- Automated Testing (Never ship something broken again)

- Visual Regression Testing (Make CSS changes less painful)

- Code Quality Checks (Stop bad code getting into your repo or near a server)

- Install Software on your servers with a few keystrokes

- Notifications and Integration with your other tools