Update Management

Overview

This section presents how to manage WorkflowGen updates and deploy them safely in your environments.

You can use the WorkflowGen upgrade container to automatically apply files and database operations when upgrading from one version to another. For more information about the upgrade container, see the Configuration page in the WorkflowGen Upgrade Image section.

Prerequisites

  • Back up all of the file shares.

  • Back up the database.

For more information about business continuity and disaster recovery, see the Business Continuity and Disaster Recovery section.

Manual update

Step 1: Execute all required actions

These actions can include moving, deleting, or adding some files around in the file shares, updating some configuration in your orchestrator or configuration files, adding secrets, adding or removing services, etc. The actions are detailed in the WorkflowGen Upgrade Guide (choose the version to which you want to upgrade).

Only execute the actions that concern the files in the file shares. Any actions pertaining to files or services in WorkflowGen's container must be ignored. These will already be done once the new version of the image is in place. For example, don't stop the IIS service, since it's useless with a Docker container.

Step 2: Upgrade the database

See the Upgrade the WorkflowGen database in the WorkflowGen Upgrade Guide (choose the version to which you want to upgrade).

If you're using the WorkflowGen database image, after upgrading the database, you need to update the container as well:

- FROM advantys/workflowgen-sql:7.18.2-ubuntu-18.04
+ FROM advantys/workflowgen-sql:7.18.3-ubuntu-18.04

Step 3: Custom WorkflowGen image actions

Skip this step if you don't have a custom WorkflowGen image. See the Custom WorkflowGen Image section for more information.

Execute any actions on your image's files

If you have a custom WorkflowGen image, you have to perform the actions required for the web.config files if you have custom web.config files. Carefully read the Update the web configuration file section in the WorkflowGen Upgrade Guide to see if you need to change anything in your files.

Update the WorkflowGen version in your Dockerfile

Your Dockerfile should be based on the WorkflowGen image (FROM instruction). Update the version number of the WorkflowGen image, build your image, and push it to your container registry. For example, if your version of WorkflowGen is 7.16.0 and you want to update to 7.16.1, execute the following change on the FROM instruction line:

- FROM advantys/workflowgen:7.16.0-win-ltsc2019
+ FROM advantys/workflowgen:7.16.1-win-ltsc2019

Then, build your custom WorkflowGen image:

Set-Location C:\Path\To\Custom\Context
docker image build `
# ...
-t mycorporation/workflowgen:7.16.1-win-ltsc2019 `
# ...
.

Finally, push the image to your container registry:

# Docker Hub is the default container registry
docker image push mycorporation/workflowgen:7.16.1-win-ltsc2019

Step 4: Roll the update to your containers

In production, you should use an orchestrator and therefore use the mechanism for rolling updates provided by that orchestrator.

Since containers are stateless, updating them is as simple as replacing currently running ones with the new version. To do this:

  1. Pull the new version of the container.

  2. Remove containers with the old version.

  3. Run containers with the new version.

For example, if you want to update to WorkflowGen version 7.16.1:

# 1. Pull the new version of the container.
# For custom images, use the name of your account instead of "advantys".
docker pull advantys/workflowgen:7.16.1-win-ltsc2019
# 2. Remove the containers with the old version.
# This code loops through all containers whose name contains "wfgen"
docker container ls --format name=wfgen -q `
| ForEach-Object { docker container rm -f $_ }
# 3. Run containers with the new version
docker container run `
# ...
advantys/workflowgen:7.16.1-win-ltsc2019