# Gestion des mises à jour

## Aperçu

Cette section explique comment gérer les mises à jour de WorkflowGen et les déployer en toute sécurité dans vos environnements.

{% hint style="info" %}
Vous pouvez utiliser le conteneur de mise à jour WorkflowGen pour appliquer automatiquement les fichiers et les opérations de base de données lors de la mise à jour d'une version vers une autre. Pour plus d'informations sur le conteneur de mise à jour, voir la page [Configuration](https://docs.workflowgen.com/docker-fr/7.14-7.22/image-de-mise-a-jour-workflowgen/configuration) dans la section Image de mise à jour WorkflowGen.
{% endhint %}

## Prérequis

* Sauvegardez tous les partages de fichiers.
* Sauvegardez la base de données.

Pour plus d'informations sur la continuité des activités et la reprise après sinistre, voir la section [Continuité des activités et reprise après sinistre](https://docs.workflowgen.com/docker-fr/7.14-7.22/continuite-des-activites-et-reprise-apres-sinistre).

## Mise à jour manuelle

### Étape 1 : Exécutez toutes les actions requises

Ces actions peuvent inclure le déplacement, la suppression ou l’ajout de certains fichiers dans les partages de fichiers, la mise à jour de certaines configurations dans votre orchestrateur ou vos fichiers de configuration, l’ajout de secrets, l’ajout ou la suppression de services, etc. Les actions sont détaillées dans le [Guide de mise à jour de WorkflowGen](https://docs.advantys.com/docs/upgrade-fr) (choisissez la version vers laquelle vous souhaitez effectuer la mise à jour).

{% hint style="info" %}
N'exécutez que les actions concernant les fichiers des partages de fichiers. Toute action concernant des fichiers ou des services **dans** le conteneur de WorkflowGen doit être ignorée. Celles-ci seront déjà effectuées une fois la nouvelle version de l'image en place. Par exemple, n'arrêtez pas le service IIS, car il est inutile avec un conteneur Docker.
{% endhint %}

### Étape 2 : Mettez à jour la base de données

Consultez la section [Mettre à jour la base de données WorkflowGen](https://docs.advantys.com/workflowgen-guide-de-mise-a-jour/mise-a-jour-workflowgen#mettre-a-jour-base-de-donnees-workflowgen) dans le [Guide de mise à jour WorkflowGen](https://docs.advantys.com/workflowgen-guide-de-mise-a-jour/) (choisissez la version vers laquelle vous souhaitez effectuer la mise à jour).

Si vous utilisez l'image de la base de données WorkflowGen, **après la mise à jour de la base de données**, vous devez également mettre à jour le conteneur :

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

### Étape 3 : Actions d'image WorkflowGen personnalisée

Ignorez cette étape si vous n'avez pas d'image WorkflowGen personnalisée. Consultez la section [Image WorkflowGen personnalisée](https://docs.workflowgen.com/docker-fr/7.14-7.22/image-workflowgen/image-workflowgen-personnalisee) pour plus d'informations.

#### Exécutez toutes les actions sur les fichiers de votre image

Si vous avez une image WorkflowGen personnalisée, vous devez effectuer les actions requises pour les fichiers `web.config` si vous avez des fichiers `web.config` personnalisés. Lisez attentivement la section [Mettre à jour le fichier de configuration Web](https://docs.advantys.com/workflowgen-guide-de-mise-a-jour/mise-a-jour-workflowgen#mettre-a-jour-fichier-configuration-web) du [Guide de mise à jour WorkflowGen](https://docs.advantys.com/workflowgen-guide-de-mise-a-jour/) pour savoir si vous devez modifier quoi que ce soit dans vos fichiers.

#### Mettez à jour la version de WorkflowGen dans votre Dockerfile

Votre Dockerfile doit être basé sur l’image WorkflowGen (instruction `FROM`). Mettez à jour le numéro de version de l'image WorkflowGen, créez votre image et transférez-la dans votre registre de conteneurs. Par exemple, si votre version de WorkflowGen est 7.16.0 et que vous souhaitez effectuer une mise à jour vers 7.16.1, exécutez la modification suivante sur la ligne d'instruction `FROM` :

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

Ensuite, créez votre image WorkflowGen personnalisée :

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

Enfin, poussez l'image dans votre registre de conteneurs :

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

### Étape 4 : Lancez la mise à jour dans vos conteneurs

{% hint style="info" %}
En production, vous devez utiliser un orchestrateur et donc utiliser le mécanisme de lancement des mises à jour fourni par cet orchestrateur.
{% endhint %}

Comme les conteneurs sont sans état, leur mise à jour nécessite simplement de remplacer ceux qui sont en cours d'exécution par la nouvelle version. Pour ce faire :

1. Tirez la nouvelle version du conteneur.<br>
2. Supprimez les conteneurs avec l'ancienne version.<br>
3. Exécutez les conteneurs avec la nouvelle version.

Par exemple, si vous souhaitez mettre à jour vers 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
```
