SlideShare a Scribd company logo
1 of 52
Download to read offline
A modern WordPress
development workflow
By David Darke
1 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
2 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
September 2010
3 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
FTP	:(
4 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
What's wrong with this simple setup?
• It's almost impossible for two developer to work at the same time,
(unless they are sat next to each other)
• Dropbox does have a revision system, but only on a per file basis
• Deployments were cumbersome and not traceable (FTP is the worst)
• No real control over servers and hosting (Shared hosting)
• Nothing was re-usable
• Hours (maybe days) wasted handling development environment
differences and things out of our control
5 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Today (April 2018)
6 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Our challenges
• Get a shared development environment - Hoping to increase
development team
• Improve frontend workflow - Stop editing flat CSS files
• Find a reliable deployment method - Stop f***ing about with FTP
• Improve hosting reliability - Increase level of control and
performance
• A future goal of...
7 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Automated continuous delivery
8 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Think of your
WordPress website,
as a web platform.
9 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Laravel Homestead
+
10 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Laravel Homestead
Laravel Homestead is an official, pre-packaged Vagrant box that
provides you a wonderful development environment without
requiring you to install PHP, a web server, and any other server
software on your local machine.
— Homestead documentation
11 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
The anatomy of 99% of WordPress Websites
= ++ +
Open	source	
code
Your	theme	and	
custom	plugin	
code
Database Uploads
12 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Your theme code
= ++ +
Open	source	
code
Your	theme	and	
custom	plugin	
code
Database Uploads
13 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
14 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Get your custom code into GIT...
15 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Get your custom code into GIT...
NOW!!!
16 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
'Please use git' - A post by Amin Shah Gilani 1
• It’s too complicated
• I’m not too good with the command line.
• “Our project is too small”
• “Our team is too small”
• “We use Dropbox”
1
https://hackernoon.com/please-use-git-da3bea7d1234
17 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
= ++ +
Open	source	
code
Your	theme	and	
custom	plugin	
code
Database Uploads
18 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
We use shared remote databases
mysql.mycompany.co.uk
This means all our development databases are accessible from
anywhere.
• No syncing
• Content is shared between developers
• Wordpress locking stops two people editing the same content at the
same time
19 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
= ++ +
Open	source	
code
Your	theme	and	
custom	plugin	
code
Database Uploads
20 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
We store development uploads on
Amazon S3
An S3 bucket per site, which is only accessible to the development
team
21 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
= ++ +
Open	source	
code
Your	theme	and	
custom	plugin	
code
Database Uploads
22 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Composer pulls a WordPress version (usually the latest) and all
required plugins. 2
2
https://www.atomicsmash.co.uk/blog/using-composer-wordpress-development/
23 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Git repository doesn't include WordPress, plugins or uploads
24 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Our challenges
• Get a shared development environment ✔
• Improve frontend workflow
• Find a reliable deployment method
• Improve hosting reliability
25 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
26 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
More about frontend tools 3
3
https://www.atomicsmash.co.uk/blog/our-current-development-tools-and-workflows/
27 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Our challenges
• Get a shared development environment ✔
• Improve frontend workflow ✔
• Find a reliable deployment method
• Improve hosting reliability
28 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Capistrano
29 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
A single deployment
1. Developer runs cap production deploy
2. Capistrano logs into your remote server
3. Capistrano grabs the latest code from Git
4. Capistrano runs composer and pulls down WordPress
5. If there are no errors in setup, Capistrano puts changes live
30 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
cap production deploy
cap uat deploy
cap staging deploy
31 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
cap production deploy:rollback
32 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Our challenges
• Get a shared development environment ✔
• Improve frontend workflow ✔
• Find a reliable deployment method ✔
• Improve hosting reliability
33 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
The hosting company
34 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Hosting provisioning
35 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Forge...
1. It creates the server on Digital Ocean
2. Installs Nginx, PHP, MySQL + a bunch of other stuff
3. Helps automate FREE Let's Encrypt SSLs (and normal SSLs)
4. Provides an interface for creating 'sites'
5. Provides an interface for creating databases
6. Patches the servers for security updates (in the background)
7. Admin still has full control over the server
36 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Old dev process
FTP	:(
37 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
38 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Release	Belt
New dev process
39 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
40 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Premium plugins with composer
We use an private composer storage solution called Release Belt.
https://github.com/Rarst/release-belt
41 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
42 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Server metrics via Prometheus
43 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
44 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
45 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
BONUS!
46 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
47 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
48 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Signup for logsmith
We are looking for beta testers
http://eepurl.com/dkjmHb
49 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
50 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
THANKS!
Follow me:
@david_darke
Follow my studio:
@atomicsmash
Get presentation here:
https://github.com/daviddarke/A-modern-WordPress-development-
workflow
51 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
Tool list
• Capistrano | Used to deploy code from GIT to servers.
• Composer | Used to pulling PHP dependancies like Wordpress.
• Forge | Used for provisioning servers
• GIT | A version control system for storing and sharing code.
• Logflume | Gets uploads onto S3 so they are sharable with other developers
• Logsmith | The development framework made by Atomic Smash
• Release belt | Used for storing premium plugins and making them privately
accessible to composer.
52 A modern WordPress development workflow - David Darke | atomicsmash.co.uk

More Related Content

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

A modern WordPress development workflow

  • 1. A modern WordPress development workflow By David Darke 1 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 2. 2 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 3. September 2010 3 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 4. FTP :( 4 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 5. What's wrong with this simple setup? • It's almost impossible for two developer to work at the same time, (unless they are sat next to each other) • Dropbox does have a revision system, but only on a per file basis • Deployments were cumbersome and not traceable (FTP is the worst) • No real control over servers and hosting (Shared hosting) • Nothing was re-usable • Hours (maybe days) wasted handling development environment differences and things out of our control 5 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 6. Today (April 2018) 6 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 7. Our challenges • Get a shared development environment - Hoping to increase development team • Improve frontend workflow - Stop editing flat CSS files • Find a reliable deployment method - Stop f***ing about with FTP • Improve hosting reliability - Increase level of control and performance • A future goal of... 7 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 8. Automated continuous delivery 8 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 9. Think of your WordPress website, as a web platform. 9 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 10. Laravel Homestead + 10 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 11. Laravel Homestead Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, and any other server software on your local machine. — Homestead documentation 11 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 12. The anatomy of 99% of WordPress Websites = ++ + Open source code Your theme and custom plugin code Database Uploads 12 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 13. Your theme code = ++ + Open source code Your theme and custom plugin code Database Uploads 13 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 14. 14 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 15. Get your custom code into GIT... 15 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 16. Get your custom code into GIT... NOW!!! 16 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 17. 'Please use git' - A post by Amin Shah Gilani 1 • It’s too complicated • I’m not too good with the command line. • “Our project is too small” • “Our team is too small” • “We use Dropbox” 1 https://hackernoon.com/please-use-git-da3bea7d1234 17 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 18. = ++ + Open source code Your theme and custom plugin code Database Uploads 18 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 19. We use shared remote databases mysql.mycompany.co.uk This means all our development databases are accessible from anywhere. • No syncing • Content is shared between developers • Wordpress locking stops two people editing the same content at the same time 19 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 20. = ++ + Open source code Your theme and custom plugin code Database Uploads 20 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 21. We store development uploads on Amazon S3 An S3 bucket per site, which is only accessible to the development team 21 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 22. = ++ + Open source code Your theme and custom plugin code Database Uploads 22 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 23. Composer pulls a WordPress version (usually the latest) and all required plugins. 2 2 https://www.atomicsmash.co.uk/blog/using-composer-wordpress-development/ 23 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 24. Git repository doesn't include WordPress, plugins or uploads 24 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 25. Our challenges • Get a shared development environment ✔ • Improve frontend workflow • Find a reliable deployment method • Improve hosting reliability 25 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 26. 26 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 27. More about frontend tools 3 3 https://www.atomicsmash.co.uk/blog/our-current-development-tools-and-workflows/ 27 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 28. Our challenges • Get a shared development environment ✔ • Improve frontend workflow ✔ • Find a reliable deployment method • Improve hosting reliability 28 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 29. Capistrano 29 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 30. A single deployment 1. Developer runs cap production deploy 2. Capistrano logs into your remote server 3. Capistrano grabs the latest code from Git 4. Capistrano runs composer and pulls down WordPress 5. If there are no errors in setup, Capistrano puts changes live 30 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 31. cap production deploy cap uat deploy cap staging deploy 31 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 32. cap production deploy:rollback 32 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 33. Our challenges • Get a shared development environment ✔ • Improve frontend workflow ✔ • Find a reliable deployment method ✔ • Improve hosting reliability 33 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 34. The hosting company 34 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 35. Hosting provisioning 35 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 36. Forge... 1. It creates the server on Digital Ocean 2. Installs Nginx, PHP, MySQL + a bunch of other stuff 3. Helps automate FREE Let's Encrypt SSLs (and normal SSLs) 4. Provides an interface for creating 'sites' 5. Provides an interface for creating databases 6. Patches the servers for security updates (in the background) 7. Admin still has full control over the server 36 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 37. Old dev process FTP :( 37 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 38. 38 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 39. Release Belt New dev process 39 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 40. 40 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 41. Premium plugins with composer We use an private composer storage solution called Release Belt. https://github.com/Rarst/release-belt 41 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 42. 42 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 43. Server metrics via Prometheus 43 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 44. 44 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 45. 45 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 46. BONUS! 46 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 47. 47 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 48. 48 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 49. Signup for logsmith We are looking for beta testers http://eepurl.com/dkjmHb 49 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 50. 50 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 51. THANKS! Follow me: @david_darke Follow my studio: @atomicsmash Get presentation here: https://github.com/daviddarke/A-modern-WordPress-development- workflow 51 A modern WordPress development workflow - David Darke | atomicsmash.co.uk
  • 52. Tool list • Capistrano | Used to deploy code from GIT to servers. • Composer | Used to pulling PHP dependancies like Wordpress. • Forge | Used for provisioning servers • GIT | A version control system for storing and sharing code. • Logflume | Gets uploads onto S3 so they are sharable with other developers • Logsmith | The development framework made by Atomic Smash • Release belt | Used for storing premium plugins and making them privately accessible to composer. 52 A modern WordPress development workflow - David Darke | atomicsmash.co.uk