Continuous WordPress

Continuous WordPress

WordPress is probably the most-used blogging framework on the internet, with millions of people publishing multiple articles daily and a very active community building extra functionality through plugins and themes, making WordPress the best tool for small businesses to get started with their online identity. But this popularity comes with a price: it becomes target to spammers and even worse: hackers.

In this session I will explain how you can harness your WordPress setup and use automated tools to keep your WordPress site (or sites) protected and up-to-date, especially when you can not use the automated update features WordPress has build-in. Stop worrying about failing plugins and keep your WordPress application up-to-date in a continuous, automated, secure way.

8fc45f4725efe8e8bc8d6c1f92224b65?s=128

Michelangelo

February 27, 2020
Tweet

Transcript

  1. Michelangelo van Dam (@DragonBe) Continuous Wordpress Or why wouldn’t you

    automate your WordPress installations?
  2. Michelangelo van Dam (@DragonBe) Michelangelo van Dam I'm a senior

    #php architect, co-founder and #ceo of @in2itvof, #community leader at @phpbenelux, coach at @CoderDojoBelgium, #digitalnomad, likes #coffee. 2
  3. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  4. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  5. Michelangelo van Dam (@DragonBe) 30% Of the internet is WordPress

    5
  6. Michelangelo van Dam (@DragonBe) Top 5 retail platforms in Belgium

    1. Magento (28%) 2. WordPress/WooCommerce (16%) 3. Lightspeed (9%) 4. Drupal (8%) 5. PrestaShop (7%) Source: Twinkle.be 100 2017 - 2018
  7. Michelangelo van Dam (@DragonBe) Why WordPress is so great PRO

    Easy for end users PRO Endless possibilities via plugins PRO Supports many PHP versions PRO Active updates
  8. Michelangelo van Dam (@DragonBe) Why WordPress is not so great

    CON Auto updates for core only CON Manual updates plugins & themes CON Supports many PHP versions CON Prime target for hackers
  9. Michelangelo van Dam (@DragonBe) Many known brands use WordPress

  10. Michelangelo van Dam (@DragonBe) Often you start of with one

    site A personal or business site
  11. Michelangelo van Dam (@DragonBe) Then you start having some more

    A website for family, hobby, sports club, …
  12. Michelangelo van Dam (@DragonBe) And before you know it… You’re

    in charge of many more sites
  13. Michelangelo van Dam (@DragonBe)

  14. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  15. Michelangelo van Dam (@DragonBe) Continuous Integration Tools Run locally on-prem

  16. Michelangelo van Dam (@DragonBe) Continuous Integration Services Or you can

    run it as a SaaS
  17. Michelangelo van Dam (@DragonBe)

  18. Michelangelo van Dam (@DragonBe)

  19. Michelangelo van Dam (@DragonBe)

  20. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  21. Michelangelo van Dam (@DragonBe) Customization

  22. Michelangelo van Dam (@DragonBe) Platforms & Services

  23. Michelangelo van Dam (@DragonBe) Scary

  24. Michelangelo van Dam (@DragonBe) Let’s review how WordPress is setup…

  25. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  26. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  27. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  28. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  29. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  30. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  31. Michelangelo van Dam (@DragonBe) WordPress stack Server (cloud, VPS, bare

    metal) ENV (DEV, TEST, ACC & PROD) Operating System Database & Filesystem WordPress Core WP Themes Custom Themes WP Plugins Custom Plugins
  32. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  33. Michelangelo van Dam (@DragonBe) WordPress Core

  34. Michelangelo van Dam (@DragonBe) WordPress SVN Repositories • WordPress Core:

    https://core.svn.wordpress.org • WordPress Plugins: https://plugins.svn.wordpress.org • WordPress Themes: https://themes.svn.wordpress.org
  35. Michelangelo van Dam (@DragonBe) Custom SVN Repositories • Custom Themes:

    http://svn.company.com/themes • Custom Plugins: http://svn.company.com/plugins
  36. Michelangelo van Dam (@DragonBe) Using GIT-SVN with GitHub • https://github.com/compa

    ny/wp/themes/mytheme/ tags/1.1.4 • https://github.com/compa ny/wp/plugins/myplugin/t ags/3.2.6
  37. Michelangelo van Dam (@DragonBe) Staged environments Development DEV Testing TEST

    Acceptance ACC Production PROD
  38. Michelangelo van Dam (@DragonBe) Staged environments Testing TEST Production PROD

  39. Michelangelo van Dam (@DragonBe) Provisioning tools

  40. Michelangelo van Dam (@DragonBe) Phing, make or Apache Ant

  41. Michelangelo van Dam (@DragonBe) Manual process for updating WordPress (for

    clients)
  42. Michelangelo van Dam (@DragonBe) Continuous Monitor, Test and Update Your

    WordPress sites Default target: ------------------------------------------------------------------------------- build Run automated WordPress Updater Main targets: ------------------------------------------------------------------------------- build Run automated WordPress Updater catalog Create a catalog of sites under control dbupdate Update the WP database if there’s new version inventory Make an inventory of site core, plugins and themes versions plugin-check Check if WordPress Plugins require updates prepare Get all configuration settings theme-check Check if WordPress Themes require updates wpbackup Make a backup of the WordPress site wpcore-check Check if WordPress Core requires updates wpplugins-check Check local WP Plugins version wpthemes-check Check local WP Themes version Converting manual steps into build steps
  43. Michelangelo van Dam (@DragonBe) A jenkins screen we have for

    automated updates of WordPress sites
  44. Michelangelo van Dam (@DragonBe) And if we go into details,

    we see it running all the steps we defined
  45. Michelangelo van Dam (@DragonBe) CI build run reporting, available in

    Jenkins but also send out by email
  46. Michelangelo van Dam (@DragonBe) Schedule WordPress Continuous Integration Challenges Sollutions

    Recap
  47. Michelangelo van Dam (@DragonBe)

  48. Michelangelo van Dam (@DragonBe)

  49. Michelangelo van Dam (@DragonBe)

  50. Michelangelo van Dam (@DragonBe) Thank you Slides: Feedback: @DragonBe