Gutenberg and CI/CD at WordCamp Nordic
Last week, along with a few members of the UK-based WP Engine team, I was sent on a mission to visit snowy Helsinki, Finland for WordCamp Nordic. The event was the culmination of a few regional WordCamp events: Helsinki, Stockholm, and Oslo. The three cities joined forces and came together under a single roof in the Nordics. Attendance was thought to be nearly 500 people throughout the day, which was split between two rooms of speaker tracks with more than 25 presenters. The schedule included a good mix of lightning sessions as well as full-length sessions. There were many technical talks which were balanced nicely by forward-looking tech, security, and design-related topics as well as business topics.
Gutenberg Takes Flight
Before joining WP Engine, I spent many years developing sites in Drupal. To that point, my interest is always piqued by common links between WordPress, Drupal, and other CMS technology as well as finding potential ways to share code or exchange ideas. One of the crossovers which brought my attention to WordPress as a Drupal developer was the command line. Working with Drush in Drupal I was able to perform many operations via commands in the terminal, which add convenience and speed to the developer’s workflow. I was delighted to find that I could utilize that same function in WordPress via WP-CLI. As it turns out, WP-CLI was influenced by the functionality of Drush and actually credits Drush’s influence for a lot of its features and functionality.
Just as WP-CLI has been influenced by a part of the Drupal ecosystem, the release of Gutenberg has had an impact well outside the realms of WordPress. The Gutenberg Cloud session focused on how Gutenberg can be used in other systems using Gutenberg-js. The split presentation style that Marco and Thor Andre used offered the audience perspective on both the technical and business aspects of Gutenberg.
The benefit of using Gutenberg in Drupal is consistency in the editing experience and the recyclability of code. Gutenberg blocks can now be interchanged and shared by the two systems and it is possible to build a single front end that will translate to both Content Management Systems. The addition of Gutenberg Cloud allows developers to create reusable blocks that can be shared across any CMS. Gutenberg Cloud is available as a WordPress Plugin and a Drupal Module.
Keep on Deploying
One of the things I love the most about being a Solutions Engineer is the ability to pivot on a decision, or quite simply to turn a no into a yes. This is an invaluable tool that I use on a daily basis. I’m constantly thinking about how I can make something happen that is at first thought to be impossible. I utilized this strategy when deploying WordPress.
I had a situation where a customer wanted to use a specific theme that required running a build/compile script in order to generate the theme’s code and perform some post-commit tasks. This is not possible to do on the WP Engine platform so I looked at 3rd party solutions and found that Codeship was the perfect Continuous Integration/Continuous Deployment tool for my needs. After some time and initial ramp up with Codeship I was able to build a CI Pipeline which runs a build process and deploys code to WP Engine after a change is pushed to my production site repository. Codeship is configured to watch my Git repository and automatically starts the build/deploy process when there is a code push.
Without going into a ton of detail, CI/CD via a 3rd party solution turns out to be the best solution in this case due to flexibility and the sheer number of options that are available. There’s not a single solution that customers use and being flexible enough to integrate with many of them is the key in this situation.
Bjorn’s talk introduced the process of Continuous Integration and Deployment with WordPress for developers and helped to shed some light into what is typically more of a Dev Ops technology and function. One of the main benefits of CI/CD is that it reduces risk by making small changes available on a regular basis. This is in contrast to the idea of release-based software update schedules where changes are bundled into a version that updates all at once. Making small iterations frequently allows for quicker integration testing, faster deployment, and continuous deployment where code can be moved to production quickly at any time.
As CI/CD has been a focus for me in the last few years, I have created a script which outlines how I deploy my own CI/CD Pipeline using Codeship for pushing changes to my blog which has been built using the Roots Sage theme.
Looking Ahead
WordCamp Nordic was a great chance to catch up with my global group of WordPress buddies in what is becoming one of my favorite cities. As usual, it is always a pleasure to catch up with the WordPress Community and learn about new trends and ways of working. I found some inspiring talks at WC Nordic and I also really enjoyed the hallway track this time around. Next stop, WordCamp London.
Start the conversation.