Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Production ready word press Slide 1 Production ready word press Slide 2 Production ready word press Slide 3 Production ready word press Slide 4 Production ready word press Slide 5 Production ready word press Slide 6 Production ready word press Slide 7 Production ready word press Slide 8 Production ready word press Slide 9 Production ready word press Slide 10 Production ready word press Slide 11 Production ready word press Slide 12 Production ready word press Slide 13 Production ready word press Slide 14 Production ready word press Slide 15 Production ready word press Slide 16 Production ready word press Slide 17 Production ready word press Slide 18 Production ready word press Slide 19 Production ready word press Slide 20 Production ready word press Slide 21 Production ready word press Slide 22 Production ready word press Slide 23 Production ready word press Slide 24 Production ready word press Slide 25 Production ready word press Slide 26 Production ready word press Slide 27 Production ready word press Slide 28 Production ready word press Slide 29 Production ready word press Slide 30 Production ready word press Slide 31 Production ready word press Slide 32 Production ready word press Slide 33 Production ready word press Slide 34 Production ready word press Slide 35 Production ready word press Slide 36 Production ready word press Slide 37 Production ready word press Slide 38 Production ready word press Slide 39 Production ready word press Slide 40 Production ready word press Slide 41 Production ready word press Slide 42 Production ready word press Slide 43
Upcoming SlideShare
What to Upload to SlideShare
Next

2 Likes

Share

Production ready word press

Presentation on deployment and continuous integration for WordCamp Manchester 2017.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Production ready word press

  1. 1. Deploy your code using version control and continuous integration PRODUCTION-READY WORDPRESS
  2. 2. • Presenter • Front End Developer • Senior Sales Engineer - WP Engine • Music Technology • Swim, Cycle, Snowboard Edmund Turbin @spicecadet
  3. 3. Production Ready Wordpress Contents The Problem The Solution The Script Demonstration Learnings Deployment, version control and continuous integration
  4. 4. The Problem
  5. 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
  6. 6. The Solution
  7. 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. 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. 9. Workflow • Local Development • Central Version Control • Continuous Integration Pipelines • Build Script • Dependencies • Push to server
  10. 10. Version Control Repo
  11. 11. Workflow Install & Build Repo Deps Push Deployment
  12. 12. Initial Setup Setup Clone Repo Install Apps Configure Env Build
  13. 13. Build Build ConcatUglify Compile Sass/Less JS Lint
  14. 14. Dependencies Dependencies PluginsPackagist
  15. 15. Testing Test Automated Testing
  16. 16. Tools
  17. 17. Theme
  18. 18. Local Development
  19. 19. Build
  20. 20. Collaboration/ VCS
  21. 21. Dependencies
  22. 22. Continuous Integration Tool
  23. 23. Continuous Integration Tool
  24. 24. Continuous Integration Tool
  25. 25. Continuous Integration Tool
  26. 26. Continuous Integration Tool
  27. 27. Automated Testing
  28. 28. Automated Testing
  29. 29. The Script
  30. 30. # Set Constants INSTALL="edmund" EMAIL="edmund.turbin@wpengine.com" ENVIRONMENT=“production" # Disable Xdebug rm -f /home/rof/.phpenv/versions/$(phpenv version-name)/etc/conf.d/ xdebug.ini
  31. 31. # Codeship project root is the ~/clone directory cd ~/clone # Set production remote and config git config --global user.name "Codeship Deploy" git config --global user.email "$EMAIL" git remote add $ENVIRONMENT git@git.wpengine.com:$ENVIRONMENT/ $INSTALL.git # Unset shallow fetch and fetch origin git fetch --unshallow || true // not all versions of each file git fetch origin "+refs/heads/*:refs/remotes/origin/*"
  32. 32. # Run Composer to install dependencies cd wp-content/themes/sage composer install --prefer-source --no-interaction
  33. 33. # Remove unnecessary files rm -rf vendor/ rm ~/clone/.gitignore git rm ~/clone/.gitignore # Git Commit and Push git add --all git commit -m "Codeship Deployment" git push $ENVIRONMENT HEAD:master --force
  34. 34. # Assertible Tests curl -u DLI7uFTdkcpfcXdQ: "https://assertible.com/deployments" -d'{ "service": "43994ec7-41e0-4d7f-9155-6945816333f1", "environmentName": "production", "version": "v1" }'
  35. 35. DemonstratioN
  36. 36. Learnings
  37. 37. Codeship • Uses a virtual machine at time of deploy • Has many common binaries installed, possible to install more • Can be used in Debug mode which allows you to SSH into the virtual machine and run commands until happy
  38. 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
  39. 39. Build • Gulp, Grunt, Webpack, etc. can all be run during deployment • Local development can use it’s own build script • Possible to use different build scripts for branches • Allows for release management - deploy different branches to their own server environments (stage, test, production)
  40. 40. Next Steps • Do more testing with Assertive 😁 • Create automated rollback functionality 😵 • Wishlist: Visual Regression Testing with NPM/Wraith, Backstop.js 👊
  41. 41. Reference Team Collaboration with Github 7 Easy Steps to Continuous Deployment Optimize Local Development Codeship Deployment Script Post Deployment Smoke-Testing with Assertive
  42. 42. Questions @spicecadet edmund.turbin@wpengine.com Slides: https://www.slideshare.net/secret/9qxoXXTyYXjNP
  • denysphilip

    Mar. 25, 2020
  • ThomasGHenry

    May. 2, 2019

Presentation on deployment and continuous integration for WordCamp Manchester 2017.

Views

Total views

530

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

0

Shares

0

Comments

0

Likes

2

×