40
Working in Harmony Optimize development and content workows

Working in Harmony: Manchester - Optimize development and content workflows

Embed Size (px)

Citation preview

Working in HarmonyOptimize development and content workflows

Agenda

• Your team & working together

• Development workflow

• Content workflow

• Development tools

• Deployment

Who’s On Your Team

Dev Content

PM AM QA

Working Together

• No one works alone

• Development Workflow & Best Practices

• Content Workflow

Development Workflow

Why Use Tiers?

•Avoid working on live production site

• Test scheduled releases, features, bug fixes

• Limit access by team or role

•Maintain a stable environment for other teams

Tiers for development

.local

.dev

.stage

.prod

.qa

.testDev

production

local

stage

Production Tier

Dev

Staging Tier

Dev

Development Tier

Dev

Content Workflow

Tiers for content creators

• qa

• staging

• production

Content

production

Google Docs / Word

stage Review, Approve, Schedule

How Can I Deploy Content?

• Export/import via WordPress core functionality

• Database export/import via MySQL

• Export/import via database management plugins

Content

Content Staging Systems

•Content Deployment Plugins

✴Content Staging

✴RAMP

✴Version Press

•Backup Plugins

•Platform & Host Based Solutions

✴Copy staging to liveContent

live

staging

Content Staging Plugin

• Batch Deploy Content

• Preflight Check

• Push custom posts, media

Content

live

staging

Content Staging Wishlist

•History & Audit Trail

•Multi-tier deploy

✴ push to staging & production

✴ pull new content to dev - DB

•Rollback

• Settings, menus, configContent

live

staging

Local Development Environment

Local Dev Environment

• Local Server

• MAMP/XAMPP

• Vagrant

• Docker

Dev

MAMP/XAMPP

• Installs a web server on your machine

• Relies on OS

• May conflict with apps already installed

Dev

Vagrant

• Creates virtual machine

• Automated install

• Quick and simple to setup

• All developers working with the same system

Dev

Docker

• Uses containers

• Many containers on one VM

• Automated install

Dev

Developer Tools

Dev Starting Point

• The same environment

• The same tools/plugins

• The same workflow

Dev

Plugins

• Dev/Debug tools

• Environment Indicators

• Demo Content Creator

• User Switching

• Content Staging

Dev

Dependency Management

Dev

Plugin

Theme

Plugin

WP Core

Composer

• Dependency Manager for PHP

• Keep versions in sync for team

• Manage plugin, themes, core

• Always use current versions

Dev

WordPress Packagist

• Mirror of WordPress Plugins, Themes and Core

• Composer repository

• Not all plugins/themes available on wpackigist

Local Dev Tools

• WP-CLI

• Scheduled local backup

• Copy production content to local

Dev

Task Automation - Gulp

• When tasks become repetitive:

• SASS Compiling

• Minification/Uglify

• CSS Post Processing

• Reload

Dev

Task Automation

CompileSASS

MinifyUglify Concat Reload

BrowserCompress

Images

Front end developer automation workflow

Dev

Code Management

• Central repository for code

• Manage code for a group of developers

• Set access control

• Merge pull requests

• Branching workflow

Dev

Git Branches

Dev

Stage Feature Master

Git-Flow

Dev

DevelopFeature Release Master Hotfix

Deployment

Deployment

Origin Production

Staging

Dev

Deployment

Dev

Content Best Practices

• No content changes on production!

• Use staging for review, approval process

• Push content live when ready

Content

Development Best Practices

• Use the same workflow for all dev

• Automate to reduce risk

• Test on a separate environment

Content

Resources

edmundturbin.com/presentations/wordcamp-manchester/

Questions

email: [email protected]

twitter: @spicecadet

blog: www.edmundturbin.com