5. Deploy your
site
• Manage the way code is deployed
• Automate repetitive tasks for devs, admins when changes
go live
• Make it easy to use best practices
• Allow for flexibility, multiple deploy processes, safe testing
7. The Solution
• Develop Locally
• Distributed Version Control
• Don’t keep plugins and WP core in repository
• Deploy to testing environment prior to production
• Automate build and testing
8. Continuous
Integration
• Multiple developers share code
• Several pushes per day
• Each push verified by automated build
• Avoids “integration hell”
• Teams can detect problems early
9. Workflow
• Local Development
• Central Version Control
• Continuous Integration Pipelines
• Build Script
• Dependencies
• Push to server
37. Codeship
• Uses a virtual machine at time of deploy
• Has many common binaries installed, possible to install more
• Caches NPM packages
• Can be used in Debug mode which allows you to SSH into the
virtual machine and run commands until happy
38. Git Integration
• Understanding how to move files from Codeship was
difficult
• A few different attempts to make this happen
• Possible to use FTP, but Git is more streamlined and quicker
• git push — force option important - not all files in the repo
are needed in production
39. Build
• Gulp, Grunt, Webpack.js, etc. can all be run during
deployment
• Local development can use it’s own build script
• Possible to use different tasks or build scripts for each
branch
• Allows for release management - deploy different branches
to their own server environments (stage, test, production)
40. Next Steps
• Do more testing with Assertible 😁
• Remove all source files and unnecessary files like readme 😎
• Create automated rollback functionality, look at symlinks 😵
• Wishlist: Visual Regression Testing with NPM/Wraith, Backstop.js 👊
42. Reference
Team Collaboration with Github
7 Easy Steps to Continuous Deployment
Optimize Local Development
Codeship Deployment Script
Post Deployment Smoke-Testing with Assertible