Slide 1

Slide 1 text

Adding Automation to your theme development workflow Joshua Ray WordCamp St. Louis 2014 @pdxOllo http://ollomedia.com http://github.com/Ollo

Slide 2

Slide 2 text

Hi

Slide 3

Slide 3 text

Take the repetitive tasks for every WP project set up localhost set up local database find WP core or download again because you can’t remember where you saved it last. run 5 minute install install favorite theme or boiler install favorite plugins build push to git set up WP on remote server { dev, staging, production } install favorite plugins use ftp? to upload modified theme / boiler for review

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Automate it Install Build Deploy

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Automation isn't about being lazy its about being efficient. ~Addy Osmani

Slide 8

Slide 8 text

As an engineer, there is a short list of tools that you must be rabid about. Rabid. Foaming at the mouth crazy. ~Michael Lopp

Slide 9

Slide 9 text

Don’t fear your terminal

Slide 10

Slide 10 text

YeoPress

Slide 11

Slide 11 text

The officially un-official Yeoman generator for WordPress https://github.com/wesleytodd/YeoPress Requires Node http://nodejs.org/ Requires Yeoman http://yeoman.io/

Slide 12

Slide 12 text

$ npm install -g yo $ npm install -g yo generator-wordpress $ yo wordpress

Slide 13

Slide 13 text

Grunt The Javascript Taskrunner

Slide 14

Slide 14 text

Already Installed by Yeoman :D Grunt Cli http://gruntjs.com/getting-started#installing-the-cli Plugins http://gruntjs.com/plugins $ npm install -g grunt-cli

Slide 15

Slide 15 text

distributed version control system

Slide 16

Slide 16 text

If you’re not already using a version control system START NOW!

Slide 17

Slide 17 text

Webhooks http://developer.github.com/webhooks/

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Slide 20

Slide 20 text

Dandelion https://github.com/scttnlsn/dandelion Incremental Git repository deployment for OS X and Linux. $ gem install dandelion

Slide 21

Slide 21 text

scheme: sftp host: example.com username: user password: pass path: path/to/deployment exclude: - .gitignore - dandelion.yml - folder/ additional: - public/css/print.css - public/css/screen.css - public/js/main.js

Slide 22

Slide 22 text

$ git commit -am “my new feature” $ git push origin master $ dandelion deploy

Slide 23

Slide 23 text

Others Beanstalk http://beanstalkapp.com/ FTPloy http://ftploy.com/ Capistrano http://capistranorb.com/ Rocketeer http://rocketeer.autopergamene.eu/

Slide 24

Slide 24 text

Questions?

Slide 25

Slide 25 text

No content