Assembly Line
| |

WordPress DevOps – WordCamp Grand Rapids 2018

1. Introductions

  • Development History
    • High School
      • 1996 – Personal School Website – image maps with cgi-bin processing written in C
      • 1996 – Davisco Foods International (First Freelance Job) – static HTML site
    • College
      • 2000 – Inspiration Point Christian Camp & Retreat Center – perl for form processing, PHP template-based site
    • Post-College
      • 2002 – Cross Roads Range Christian Camp – PHP CMS
      • 2004-2006 – Church of the Lutheran Brethren of America & related ministries – PHP CMS, PHP Authorize.NET Donation Processing, osCommerce
      • 2006 – iPCS Wireless, Inc. (telecommunications) – PHP & Perl
      • 2011 – Ericsson/Sprint (telecommunications) – PHP/.NET/C#/Java
      • 2012 – Allen Extruders/SPI (manufacturing) – PHP/Ruby/C#/.NET
      • 2016 – Sprint (telecommunications) – Java/C#/.NET
  • WordPress History

2. Intro to DevOps

  • What is DevOps?
    • DevOps is a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops).
      • DevOps is about a way of doing things not about the tools themselves.
        • Revisiting “What is DevOps” – by Mike Loukides

          It’s always easy to think of DevOps (or of any software industry paradigm) in terms of the tools you use; in particular, it’s very easy to think that if you use Chef or Puppet for automated configuration, Jenkins for continuous integration, and some cloud provider for on-demand server power, that you’re doing DevOps. But DevOps isn’t about tools; it’s about culture, and it extends far beyond the cubicles of developers and operators.

    • DevOps aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.
      • The point of implementing DevOps practices is about saving time, money, resources.
      • intimate understanding between the development and operations teams
    • Many DevOps initiatives focus all on automating everything. If someone has done it more than 1 time then automate it so it never has to be manually done again.
      • If we are spending all our time focusing on automating and implementing DevOps practices then the real product doesn’t launch or the real work doesn’t get done.
  • What does DevOps offer to WordPress development?
    • Increased Productivity – Developers, designers, and testers can work on solving new problems and not repeating the work needed to solve previous problems.
      • Environment – How do we establish environment standards that developers can work within and operations can easily support?
      • Repetitive Tasks – What work are developers or operations teams doing repetitively that make send to automate in some way that can be counted on and reliable?
      • Business Workflows – How can business processes and workflows be standardized?
    • Increased Quality – A team can rely on testable, reproducible, and quantitative results that can give a clear picture of the current product state.
      • Unit Tests – Requiring code that can be tested to fulfill requirements.
      • Standards – Code can be checked automatically against well define business or industry standards. (WordPress Coding Standards)
      • Business Requirements – Test and standards compliance reports can be automated to confirm business requirements are being met.
    • Reduced Time to Delivery of Releases – When standards and best practices are followed there are less mistakes and less changes required to prepare for a release.
      • Automated Tests – Tests can be run on changes or on regular business defined schedules.
      • On-Demand User Testing – Tests can be run by developers or quality control on-demand without spending time on setup.
      • More Releases – Small regularly scheduled, or planned, releases can be made on an as-needed basis.

3. What Are The First Steps

4. What Does The End State Look Like? A Plugin Example.

Scheduled Featured Images Plugin – https://travis-ci.org/ndigitals/scheduled-featured-images/branches

Daybreak.tv Custom Theme – https://app.codeship.com/projects/48683/deployment_branches/54216

  • Tools
    • NPM & Composer – Reproducible Environment
    • Grunt – Running Tasks
    • Codecov – Code Coverage Reporting
  • Configuration
    • PHP Code Sniffer – WordPress Coding Standards
      • phpcs/phpcbf
    • PHPUnit – Unit Testing
      • phpunit
    • WordPress i18n – Internationalization
      • grunt i18n (addtextdomain, makepot)
    • WordPress Readme to Markdown – GitHub & WordPress.org Readme maintenance alignment
      • wp_readme_to_markdown
  • Practises
    • Run Local Local Checks
      • phpunit
      • phpcs
      • phpcbf
    • Test Automation Against Development Branches
      • TravisCI – branches
    • Test Automation Against Final Release
      • TravisCI – master
  • Deployments
    • Deploying Plugin & Theme Updates Directly to Servers
    • Deploying Plugin & Theme Updates Via A Plugin
    • Deploying Plugin & Theme Updates to WordPress.org
      • Use a WordPress.org SVN pre/commit script

5. Q & A

This space will be reserved to capture questions asked at the end of the talk with the answer. Additional questions can be asked in the post comments.

Similar Posts

  • /

    Christmas Eating Recovery Run

    Some people may not realize that I actually love food. One of my downfalls is also that I’m an emotional eater. That made the commitment to drastically change my eating habits no simple task. There were a couple of things that helped me stay the course on my journey to a healthier lifestyle. The first thing was that before the journey began I was diagnosed with #prediabetes, and if I didn’t make some changes I was going to have some major health issues in the future. The other piece was that my wife and I started that journey together. This made things like meal planning, and having healthy snacks on hand, a ton easier. There was a lot of holiday snacking going on this week,…
  • /

    DNF 14 Miles, Winter Won Today

    Some days you have a hard run, then there are some days where your it’s just brutal. Today the deep coat of fresh snow got the better of me. #HWI #Run4Water #WhyIRun #GRGus I was even doing my best just stick with my training plan running pace of 11:01/mi, but that wasn’t enough to get me through it. After 10 miles I just need to rest, which was only 2.5 miles after I had started up again running with the Hope Water team for maybe a mile before we parted ways. It’s tough having a day like to day knowing that in 2 weeks I’m supposed to be running a marathon (26.2 miles for those that don’t know).
  • /

    While Running Anything Can Happen

    This week I was pretty off on my #training but I got my long run in today since I’ve got an all day conference tomorrow. It felt good to be back out running and I even felt good about my pace, for an easy long run. I’m not sure if it was God leading me but I started thinking about Sierra Leone and the next team going and wondered if I should consider leading the team. #HWI #GRMarathon #Run4Water #HessLakeRun #SierraLeone
  • /

    Just Another Half Marathon For Clean Water

    The long training run for this day was just another 13 miles, which of course I made a half marathon by squeaking in the last 0.1 miles. On Saturdays that I don’t have early morning family commitments, or that I’m out of town, my goal is to get my miles in before the start of the #HWI group run. I love to hang out with the community even if I don’t get to run with them. I love to hear how Hope Water is impacting our running group as we are working to impact Africa with clean water. #Run4Water #WhyIRun #GRMarathon Help Bring Clean Water to Africa: https://timn.me/2Kx7NEr
  • /

    It Shouldn’t Be All About The Run

    No PR today on my long tempo run but the but I also don’t feel like I over did it either so that helps me to know I could still push myself to a faster pace or keep up that pace for a longer time/distance. Unfortunately this morning was one of those where my mind got totally lost in the run itself. I have days like those and while I enjoy the running I also want to be taking that time listen to God and lift others up to Him. #HWI #HessLakeRun #GRMarathon #Run4Water Donate To Clean Water
  • / /

    10 More Miles And 2 Years Ago

    It was great weather for a 10 miles run this morning. As I finished things up I was reminded that just 2 years ago I was blessed to be hanging out with a bunch of children in Sierra Leone. #HWI #Run4Water #WhyIRun #GRMarathon #RiverBankRun I had hoped to return there last year but things didn’t work out. Traveling to Sierra Leone and seeing first hand the hardship of the lack of clean water, as well as the blessings a village experiences when a well is put in, is something that I will never forget. Let me tell you, until you have an experience like that your world view is pretty narrow minded. It’s that experience that has driven much of my perspective on the impact…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)