Drupalcon PDX Swagger

62
Developer Swagger Josh Koenig - Pantheon Co-Founder [email protected] @outlandishjosh Thursday, May 23, 13

description

Presentation for Drupalcon PDX on how to keep your swagger as a developer with continuous intergration.

Transcript of Drupalcon PDX Swagger

Page 1: Drupalcon PDX Swagger

Developer Swagger

Josh Koenig - Pantheon Co-Founder [email protected]

@outlandishjosh

Thursday, May 23, 13

Page 2: Drupalcon PDX Swagger

Or,“Application Lifecycle Managment”

for Drupal

Josh Koenig - Pantheon Co-Founder [email protected]

@outlandishjosh

Thursday, May 23, 13

Page 3: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 4: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 5: Drupalcon PDX Swagger

Enterprise Software Acronym Academy

Application Lifecycle Management

People who own technology need it

Website is a two to five+ year investment

Typically these people manage lots different systems — that’s hard!

Thursday, May 23, 13

Page 6: Drupalcon PDX Swagger

This ain’t just for big corporations and orgs.

Thursday, May 23, 13

Page 7: Drupalcon PDX Swagger

This is for everyone.

Thursday, May 23, 13

Page 8: Drupalcon PDX Swagger

What ALM Covers

Requirements Gathering

Design

Development

Project Management

Deployment

Maintenance

Updates and Upgrades

Thursday, May 23, 13

Page 9: Drupalcon PDX Swagger

What I’m Gonna Cover

Development

Deployment

Maintenance

Updates and Upgrades

Thursday, May 23, 13

Page 10: Drupalcon PDX Swagger

Developers want to move fast.

Thursday, May 23, 13

Page 11: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 12: Drupalcon PDX Swagger

But site owners are risk-averse

Thursday, May 23, 13

Page 13: Drupalcon PDX Swagger

Downtime is $$$

Thursday, May 23, 13

Page 14: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 15: Drupalcon PDX Swagger

Do you have take risks if you want to move

fast?

Thursday, May 23, 13

Page 16: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 17: Drupalcon PDX Swagger

No.

Thursday, May 23, 13

Page 18: Drupalcon PDX Swagger

Not if you do it right.

Thursday, May 23, 13

Page 19: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 20: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 21: Drupalcon PDX Swagger

Things that steal yr swag

Thursday, May 23, 13

Page 22: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 23: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 24: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 25: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 26: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 27: Drupalcon PDX Swagger

Cowboys are cool

Thursday, May 23, 13

Page 28: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 29: Drupalcon PDX Swagger

Especially when they use

version control and CI

Thursday, May 23, 13

Page 30: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 31: Drupalcon PDX Swagger

Git has hooks too, just like Drupal

Thursday, May 23, 13

Page 32: Drupalcon PDX Swagger

Remote Repo

Local Repo

Pull from a remote

Thursday, May 23, 13

Page 33: Drupalcon PDX Swagger

Remote Repo

Local Repo

Pushing is a bit harder

Thursday, May 23, 13

Page 34: Drupalcon PDX Swagger

Remote Working

Local Working

Use a “bare” repo to coordinate & run hooks

Remote Bare

Thursday, May 23, 13

Page 35: Drupalcon PDX Swagger

Demo

Thursday, May 23, 13

Page 36: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 37: Drupalcon PDX Swagger

Remote Working

Local Working

Use Git to Manage Core Updates

Remote Bare

Drupal Upstream

Thursday, May 23, 13

Page 38: Drupalcon PDX Swagger

Continuous Integration

Thursday, May 23, 13

Page 39: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 40: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 41: Drupalcon PDX Swagger

What about D8?

Thursday, May 23, 13

Page 42: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 43: Drupalcon PDX Swagger

CMI Fixes Everything!Thursday, May 23, 13

Page 44: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 45: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 46: Drupalcon PDX Swagger

CMI is a major major major win.

Thursday, May 23, 13

Page 47: Drupalcon PDX Swagger

Managing config consistently in YAML is

a game-changer.

Thursday, May 23, 13

Page 48: Drupalcon PDX Swagger

But you still need a solid workflow.

Thursday, May 23, 13

Page 49: Drupalcon PDX Swagger

A Word About Automated Testing

Thursday, May 23, 13

Page 50: Drupalcon PDX Swagger

Better Testing for Site Builders is Coming

We are hereThursday, May 23, 13

Page 51: Drupalcon PDX Swagger

Get Hip to Behat

Thursday, May 23, 13

Page 52: Drupalcon PDX Swagger

Keep Your Dev Fresh

You need to have it down to a science and easy or automatic.

Data has mass.

Simple mysql tricks can save time.

Save 25 mins every day = 1 day a month.

Thursday, May 23, 13

Page 53: Drupalcon PDX Swagger

Drush Aliases

Straightforward to set up if you have SSH access.

Part of keeping your swagger.

Anatomy of an alias file.

(Cheater Demo Using Pantheon.)

Thursday, May 23, 13

Page 54: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 55: Drupalcon PDX Swagger

Deploying to Prod

Push or pull are both ok.

Integrate this with version control (e.g. tag it).

Script, test, automate.

Thursday, May 23, 13

Page 56: Drupalcon PDX Swagger

Investing in automation is essential.

Thursday, May 23, 13

Page 57: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 58: Drupalcon PDX Swagger

Sites backed by automated tools will be

better.

Thursday, May 23, 13

Page 59: Drupalcon PDX Swagger

They will win.

Thursday, May 23, 13

Page 60: Drupalcon PDX Swagger

Thursday, May 23, 13

Page 61: Drupalcon PDX Swagger

But you don’t have to do it all on your own.

Thursday, May 23, 13

Page 62: Drupalcon PDX Swagger

Questions?AMA

Thursday, May 23, 13