Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. WordPress version upgrade

  2. Nginx version upgrade

  3. Stock plugins

  4. BCGov Block Theme

  5. Digimod plugins

...

The next step in the upgrade process is to find the tag name for the newly released version of WordPress. To do this, navigate to https://hub.docker.com/_/wordpress/tags page and locate the fpm version of tag with the latest version, for example 6.2.02-php8.20-fpm-alpine. Important: ensure that the format of the tag is precise, e.g. {WORDPRESS_VERSION}-php{PHP_VERSION}-fpm-alpine.

Note: it is advisable to run the same version of WordPress as the GDX DES team to ensure compatibility between WordPress, DES plugins and the BCGov Block Theme. To check which version GDX is running, refer to the docker file in the upstream repository.

Build new WordPress version to latest tag in OpenShift

To create a new build for WordPress, run the Check for new WordPress Docker image workflow from the wordpress-deploy-digimod repository. This repository is a fork of wordpress deployments project. This forked repository should not be kept up to date with the upstream repository unless infrastructure upgrades are required, in which case the update would have to be tested thoroughly.

The “Check for new WordPress Docker image” workflow will update the dockerfile containing the version of WordPress and automatically trigger the Build WordPress image workflow that will build the image into the “latest” tag in the “wordpress-wordpress-run” image stream in the “tools” namespace on OpenShift.

Rename latest tag to test tag

...

Restart the production instance by running the Restart Instance workflow with “prod” as the first argument (the second argument is irrelevant). Verify that the new WordPress version is now running and apply any fixes that were done on the test instance to bring the site into alignment.

Nginx version upgrade

Nginx version upgrade is similar to the WordPress upgrade.

  1. Run Check for new nginx Docker image workflow with a desired nginx tag as input. This will update the appropriate docker file and trigger the build workflow. Refer to the upstream repository dockerfile for the current version of nginx ran by the GDX DES team.

  2. Rename the latest tag in the image stream to “test” using Rename latest nginx tag workflow with default parameter (“test”)

  3. Restart the test WordPress instance using Restart instance workflow and verify that it functions correctly.

  4. Rename the latest tag in the image stream to “prod” using Rename latest nginx tag workflow with “prod” as the argument

  5. Rest production server using the Restart instance workflow with “prod” as the argument

Updating Stock Plugins

There is currently no automatic way to perform upgrades of stock plugins. It is recommended to implement such approach using composer.json in combination with https://wpackagist.org/ service. This work has been started with the introduction of composer.json file, available on the plugins-composer branch.

...

Perform the setup process as described above first. Next, publish the new theme to test instance by running TODOthe Deploy theme workflow with default parameters (“test”/”test”). Once published, run the Verify Screenshots workflow and finally use the same workflow to publish the theme to production (this time with “prod”/”test” parameters - second one is irrelevant in this case).

Deploying custom plugins

...