no more “cowboy coding”: a best practices guide to local development & migration
TRANSCRIPT
No more “Cowboy Coding”A Best Practices Guide to
Local Development & Migration
all disney images used without permission so don’t sue me
How many of you have done THIS?
Or This? (without a backup)
Or This?
Well, That’s Cowboy Coding!And we don’ttake KINDLY to those kindaSHENANIGANS!
(and neither doyour clients)
all disney images used without permission so don’t sue me
Overview:• Regular Backups
(Even Better in the CLOUD!)• Local Development FIRST• Understanding the WordPress Database
& File Structure• Version Control Process
(& why it’s so important)• Migrating a LIVE Website from Local
(without losing your head)
all disney images used without permission so don’t sue me
BACKUPS
MINIMUM: Copy your file before editing or replacing into
a backup directory
BETTER: Use Cloud Connected Storage• OFFSITE• Sync’d on all your devices (even your phone)• RESTORE History!
(Easy to get back to prior version)
GREAT for Graphic Files, Project Documents
Local Development
Web Server running WordPress w/ MySQL Databaseon your LOCAL machineWhy? Gives you a Safety Net
• Test things (and break things) w/o hurting anyone• Test Plugins and Themes• Learn the WordPress Database• Great for Client Demos
Common Development Environment
Agency/Team Development Environment
Local Development: ServerPress
DesktopServer by ServerPresshttp://serverpress.com
• (Works on Mac or Windows)
• Automates the AMP Stack(Apache/MariaDB/PHP)
• FREE (up to 3 local websites)
Local Development: Vagrant
• VagrantsVVV (or Varying Vagrant Vagrants)
• Works on ALL OS’s (with some work)
• (Requires VirtualBox & Vagrant)• Creates Virtual Machines all within
your desktop (more console based)
• FREE but ComplicatedGetting Started Walkthrough:
http://torquemag.io/2014/08/getting-started-vagrant-local-development/
https://webdevstudios.com/2015/01/14/getting-started-vagrant-vvv-local-development/
includes VV List, a VVV Site Wizard
Local Development: Docker / Pressmatic
• Docker Containers• Each site gets a custom environment• Works on ALL OS’s (with some work)• FREE but Complicated
Pressmatic - pressmatic.io - $129• Docker-based• Easy to use site administration• Fast site creation• Import / Export / Default Config Customizations
Learn WordPress Database
Two really good resources to learn the structure of where your files are stored; necessary when you’re doing migrations:
• Tour of the WordPress Database:https://deliciousbrains.com/tour-wordpress-database/
• Tour of the MultiSite WordPress Database:https://deliciousbrains.com/wordpress-multisite-database-tour/
• Learning phpMyAdmin & WordPress:http://www.wpbeginner.com/beginners-guide/beginners-guide-to-wordpress-database-management-with-phpmyadmin/
Learn WordPress File Structure
Specifically WP_CONTENTAll your primary files for your WordPress installationare in that directory:
/themes/ - all your theme files, active or not/plugins/ - all your plugins, active or not/uploads/ - All the Media filesSite Configuration in wp_config.php
https://codex.wordpress.org/WordPress_Files#wp-content
MIGRATIONS
The File & Database are important, because
MINIMUM to copy a WordPress site:• wp_content/• wp_config.php (configured to connect to DB on new
Server)• MySQL SQL file imported into that Databasehttp://www.billerickson.net/migrating-wordpress-websites/
MIGRATIONS
Automated Tools for Migrations:
BackupBuddy by iThemes
Handles initial Migration, not sure about ‘changes’
https://ithemes.com/purchase/backupbuddy/
MIGRATIONS
WP Migrate DB &WP Migrate DB Pro
by Delicious Brains
Handles all Data migrations
with a PUSH/PULL technology
VERY Powerful!https://deliciousbrains.com/wp-migrate-db-pro/
WP Migrate DB ProLocal REMOTE
Can also handle MEDIA filesand new version can handle MultiSite(subsites to single install & back)
Version Control with GIT
Incredibly powerful, but sometimes Incredibly complicated tool that can save your life (and the life of your project), if you know how to use it.LUCKILY….
http://wordpress.tv/2015/12/13/morten-rand-hendriksen-github-for-the-rest-of-us/http://mor10.com/github-wcus/
Git Tools
• GitHub Desktop (Mac & Windows)https://desktop.github.com/
• BitBucket / SourceTree (Mac & Windows)https://www.sourcetreeapp.com/
• Tower for Git (paid, Mac Only)https://www.git-tower.com/
• Additional Tutorials:https://www.codeschool.com/courses/try-githttps://confluence.atlassian.com/bitbucket/bitbucket-tutorials-teams-in-space-training-ground-755338051.html
Perfect Team
With GIT for Version control of my theme stuffand WP Migrate DB Pro to keep my Data in syncthe Cloud for my Graphic Filesand Local Development with Vagrant, I’m safe & effective
all disney images used without permission so don’t sue me
Desktop Server Workshop
Desktop Server Workshop
Desktop Server needs to be run with Supervisory Permissions (On Windows it should only ask the first time)
Desktop Server Workshop
Fires up your web services and database.
Desktop Server Workshop
Web & Database are running!
Desktop Server Workshop
Primary DesktopServer Menu
Desktop Server Workshop
Creating a New Local Web Server
Desktop Server Workshop
Using a Blueprint to Start Your New Server
Desktop Server Workshop
When you click the “Sites” button