Démarrer

Aperçu

Cette section fournit des instructions sur comment exécuter rapidement le conteneur WorkflowGen avec une architecture minimale sur votre ordinateur local.

Il existe des limitations connues lors de l'utilisation de l'isolation Hyper-V avec le conteneur WorkflowGen dans les versions 7.19.x et antérieures de WorkflowGen. Il est recommandé d'utiliser exclusivement l'isolation de processus. Cette limitation ne s'applique plus à partir de la version 7.20.0 de WorkflowGen.

Prérequis globaux

  • Assurez-vous d'avoir une licence WorkflowGen valide.

  • Si vous utilisez Windows Server, assurez-vous qu'il s'agit bien de Windows Server 2019 et utilisez la balise correspondant à cette version. Par exemple, pour Windows Server 2019, utilisez la balise qui se termine par ltsc2019.

Déploiement manuel de Docker sur une machine locale

Aperçu de l'architecture

À la fin de cette section, l’architecture suivante sera déployée sur votre ordinateur local :

Dans le moteur Docker de votre ordinateur, vous aurez un serveur WorkflowGen en cours d'exécution et une base de données WorkflowGen qui utiliseront des volumes mappés sur votre ordinateur local pour conserver les fichiers de données.

Prérequis

Assurez-vous d'avoir installé Docker sur votre ordinateur.

Pour Windows 10 Pro

Suivez les instructions dans le guide Get started with Docker for Windows (disponible en anglais uniquement) pour installer Docker pour Windows. Vous devez utiliser des conteneurs Windows, donc vous devez utiliser au minimum Windows 10 Pro.

Pour Windows Server

N'installez pas Docker pour Windows sur Windows Server. Il est conçu pour le développement seulement.

Si vous avez configuré une machine virtuelle sur votre fournisseur de cloud, où le modèle indique quelque chose comme Windows Server with Containers, il est probablement prudent de supposer que Docker est déjà installé. Exécutez docker version sur la machine pour vérifier que c'est bien le cas. Si c'est le cas, vous pouvez ignorer le processus d'installation.

Suivez les instructions dans le guide Prise en main : Préparer Windows pour les conteneurs pour installer Docker sur Windows Server.

Pour cette configuration, il est recommandé d'utiliser l'image Docker de la base de données de WorkflowGen. Vous pouvez également utiliser une base de données SQL installée sur votre ordinateur local.

Exécutez le conteneur de base de données

Pour télécharger l'image de la base de données sur votre ordinateur local, ouvrez PowerShell et entrez ce qui suit :

docker image pull advantys/workflowgen-sql:7.18.2-express-win-ltsc2019
  • N'oubliez pas d'utiliser la balise correcte pour votre version de Windows.

  • La version Windows de l'image advantys/workflowgen-sql-express est conçue pour le développement ou les tests seulement. Il n'est pas adapté aux charges de travail de production. Au lieu de cela, envisagez d'utiliser la version Linux de l'image (p.ex. advantys/workflowgen-sql:7.18.2-ubuntu-18.04).

Pour que WorkflowGen fonctionne, vous devez exécuter la base de données avant d'exécuter WorkflowGen. Avant de créer le conteneur, vous allez créer un volume Docker afin d'externaliser les fichiers de base de données (.mdf et .ldf). Cela garantira que les données sont toujours là après la suppression du conteneur.

docker volume create sqldata

L'emplacement physique du volume peut être obtenu à l'aide de la commande suivante :

docker volume inspect -f "{{.Mountpoint}}" sqldata

Généralement, il sera stocké dans C:\ProgramData\Docker\volumes\sqldata\_data. Assurez-vous que le conteneur dispose d'un accès en écriture à ce répertoire (voir l'article Microsoft Stockage persistant dans des conteneurs pour plus d'informations).

Vous êtes maintenant prêt à exécuter le conteneur de base de données. Pour ce faire, exécutez la commande suivante :

docker container run -it `
  --env ACCEPT_EULA=Y `
  --env 'SA_PASSWORD=strong(!)Pass' `
  --env WFGEN_DATABASE_USER_USERNAME=WFGEN_USER `
  --env 'WFGEN_DATABASE_USER_PASSWORD=strong(!)Pass' `
  --env 'WFGEN_ADMIN_PASSWORD=strong(!)Pass' `
  -v sqldata:C:\wfgen\sql `
  --name wfgen_sql `
  --hostname database `
  advantys/workflowgen-sql:7.18.2-express-win-ltsc2019

Cette dernière commande définira les mots de passe de l'utilisateur SA de la base de données, de l'utilisateur de la base de données WFGEN_USER et du compte wfgen_admin WorkflowGen sur strong(!)Pass. Selon la nature de Docker, les variables d’environnement SA_PASSWORD et ACCEPT_EULA proviennent du conteneur de base microsoft/mssql-server-windows-express et ne sont pas directement traitées par le conteneur WorkflowGen.

Exécutez le conteneur WorkflowGen

Entrez ce qui suit pour télécharger l’image WorkflowGen :

docker image pull advantys/workflowgen:7.18.2-win-ltsc2019

N'oubliez pas d'utiliser la balise appropriée à votre version de Windows (voir Prérequis globaux ci-dessus).

Pour ce conteneur, vous avez besoin de trois volumes afin de conserver correctement les données WorkflowGen :

  • Licences WorkflowGen (licences)

  • Les données WorkflowGen (data), qui contiennent les éléments suivants :

    • Le dossier App_data (appdata)

    • Applications de workflow (wfapps)

"licenses", "wfgdata" | ForEach-Object { docker volume create $_ }

Vous devez maintenant copier votre licence WorkflowGen dans le volume de licences. Pour ce faire, exécutez la commande suivante :

Copy-Item C:\Path\To\WorkflowGen.lic $(docker volume inspect -f "{{.Mountpoint}}" licenses)

De cette façon, le conteneur WorkflowGen pourra récupérer la license via le volume. Vous avez également besoin d'une clé de chiffrement pour le conteneur. Utilisez la commande suivante pour en générer une :

[guid]::NewGuid().ToString('N')
# fda7a6a81db2428b8885bd1210522755

Pour exécuter le conteneur actuel, remplacez <YOUR_WFG_LIC_KEY> par votre clé de licence WorkflowGen et <YOUR_NEW_GUID> par le GUID que vous avez généré à l'étape précédente, puis exécutez la commande suivante :

docker container run -it `
  --env 'WFGEN_APP_SETTING_ApplicationUrl=http://localhost:8080/wfgen' `
  --env 'WFGEN_APP_SETTING_ApplicationSerialNumber=<YOUR_WFG_LIC_KEY>' `
  --env 'WFGEN_APP_SETTING_ApplicationSecurityPasswordSymmetricEncryptionKey=<YOUR_NEW_GUID>' `
  --env 'WFGEN_DATABASE_CONNECTION_STRING=Data Source=database,1433;Network Library=DBMSSOCN;Initial Catalog=WFGEN;User ID=WFGEN_USER;Password=strong(!)Pass;' `
  -p 8080:80 `
  -v wfgdata:C:\wfgen\data `
  -v licenses:C:\wfgen\licenses:RO `
  --name wfgen `
  advantys/workflowgen:7.18.2-win-ltsc2019

Lorsque le conteneur est prêt, ouvrez un navigateur et accédez à http://localhost:8080/wfgen, où vous serez invité à vous authentifier par WorkflowGen. Par défaut, le conteneur est configuré avec la méthode d'authentification applicative.

Fermez les conteneurs

Une fois que vous avez terminé avec cet environnement, vous pouvez fermer les conteneurs en les arrêtant. Ils peuvent être redémarrés plus tard.

# Stopping the containers
"wfgen", "wfgen_sql" | ForEach-Object { docker container stop $_ }

# Starting the containers
docker container start wfgen_sql
# Wait for the database to be ready and then start the WorkflowGen container
docker container start wfgen

# Restarting the containers
"wfgen_sql", "wfgen" | ForEach-Object { docker container restart $_ }
  • Toute variable d'environnement définie sera réappliquée après le redémarrage d'un conteneur. Par conséquent, toute modification apportée à un fichier web.config sans variables d'environnement ne sera pas effectuée entre les redémarrages ou les réexécutions.

  • Cette action conserve les données dans le système de fichiers du conteneur entre les redémarrages. Si vous ajoutez un fichier qui ne se trouve pas dans un volume, il sera conservé après le redémarrage.

Enlevez les conteneurs

Pour supprimer complètement les conteneurs, exécutez la commande suivante :

"wfgen", "wfgen_sql" | ForEach-Object { docker container rm -f $_ }

Cela supprimera la base de données et les conteneurs WorkflowGen, y compris toute modification manuelle du système de fichiers du conteneur qui ne fait pas partie d'un volume. Même si les conteneurs ne sont plus là, les données des volumes sont conservées et peuvent être utilisées par d'autres conteneurs. Par exemple, vous pouvez lancer trois autres conteneurs WorkflowGen qui utilisent les mêmes volumes et ils obtiendront tous exactement les mêmes fichiers au point de montage du volume.

Déploiement Docker Compose sur une machine locale

Cette section décrit la méthode recommandée pour déployer facilement un environnement de développement local sans avoir à entrer beaucoup de commandes. Pour en savoir plus sur Docker Compose, consultez la documentation Docker (disponible en anglais uniquement).

Aperçu de l'architecture

À la fin de cette section, l’architecture suivante sera déployée sur votre ordinateur local :

Dans le moteur Docker de votre ordinateur, vous aurez un serveur WorkflowGen en fonctionnement et une base de données WorkflowGen. Ces deux conteneurs utiliseront des volumes mappés sur votre ordinateur local pour conserver les fichiers de données.

Prérequis

Pour Windows 10 Pro

Suivez les instructions dans le guide Get started with Docker for Windows pour installer Docker pour Windows. Vous devez utiliser des conteneurs Windows, donc vous devez utiliser au minimum Windows 10 Pro.

Pour Windows Server

N'installez pas Docker pour Windows sur Windows Server. Il est conçu pour le développement seulement.

Si vous avez configuré une machine virtuelle sur votre fournisseur de cloud, où le modèle indique quelque chose comme Windows Server with Containers, il est probablement prudent de supposer que Docker est déjà installé. Exécutez docker version sur la machine pour vérifier que c'est bien le cas. Si c'est le cas, vous pouvez ignorer le processus d'installation.

Suivez les instructions dans le guide Prise en main : Préparer Windows pour les conteneurs pour installer Docker sur Windows Server.

Pour Windows Server uniquement, vous devez également installer l’outil Docker Compose, car il n’est pas installé par défaut. Suivez les instructions pour Windows Server dans le guide Install Docker Compose. Pour vérifier que Docker Compose est correctement installé, exécutez la commande suivante

docker-compose version

Pour cette configuration, il est recommandé d'utiliser l'image Docker de la base de données de WorkflowGen. Vous pouvez également utiliser une base de données SQL installée sur votre ordinateur local.

Créez le volume de licences

Avant de créer les services, vous devez créer le volume de licences en externe à partir de la composition afin que les licences soient présentes au moment de la création du conteneur. Pour ce faire, exécutez la commande suivante:

docker volume create licenses

Ensuite, vous devez copier votre fichier de licence dans le répertoire des licences. La commande suivante vous montrera où la licence sera stockée :

docker volume inspect -f "{{.Mountpoint}}" licenses

Pour copier votre licence, exécutez la commande suivante :

Copy-Item C:\Path\To\WorkflowGen.lic $(docker volume inspect -f "{{.Mountpoint}}" licenses)

Créez la clé de chiffrement symétrique

Cette valeur devrait être générée par vous. Un simple GUID suffira puisqu'il contient une entropie suffisante pour ne pas être deviné :

[guid]::NewGuid().ToString('N')
# fda7a6a81db2428b8885bd1210522755

Créez les fichiers d'environnement

Pour chaque service que vous allez créer (un pour WorkflowGen et un pour la base de données), vous aurez besoin d'un fichier contenant toutes les variables d'environnement de ce service.

Base de données

Utilisez le fichier suivant comme modèle :

SA_PASSWORD=strong(!)Pass
WFGEN_DATABASE_USER_USERNAME=WFGEN_USER
WFGEN_DATABASE_USER_PASSWORD=strong(!)Pass
WFGEN_ADMIN_PASSWORD=strong(!)Pass

Enregistrez-le sous le nom database.env en utilisant le chemin où vous placerez le fichier Compose.

WorkflowGen

Utilisez le fichier suivant comme modèle :

WFGEN_APP_SETTING_ApplicationUrl=http://localhost:8080/wfgen
WFGEN_APP_SETTING_ApplicationSerialNumber=<YOUR_WFG_LIC_KEY>
WFGEN_APP_SETTING_ApplicationSecurityPasswordSymmetricEncryptionKey=<YOUR_NEW_GUID>
WFGEN_DATABASE_CONNECTION_STRING=Data Source=database,1433;Network Library=DBMSSOCN;Initial Catalog=WFGEN;User ID=WFGEN_USER;Password=strong(!)Pass;

Remplacez <YOUR_WFG_LIC_KEY> par la valeur de votre clé de licence WorkflowGen. Remplacez <YOUR_NEW_GUID> par la clé de chiffrement symétrique que vous avez générée précédemment.

Enregistrez ce fichier sous le nom workflowgen.env en utilisant le chemin où vous placerez le fichier Compose.

Déployez les services

Pour déployer des services avec Docker Compose, vous avez besoin d'un fichier Compose qui les décrit. Utilisez le fichier Compose suivant pour cet exemple :

version: '3.8'
services:
  workflowgen:
    image: advantys/workflowgen:7.18.2-win-ltsc2019
    restart: always
    env_file:
      - '.\workflowgen.env'
    ports:
      - '8080:80'
    volumes:
      - 'wfgdata:C:\wfgen\data'
      - 'licenses:C:\wfgen\licenses:RO'
    depends_on:
      - database
  database:
    image: advantys/workflowgen-sql:7.18.2-express-win-ltsc2019
    env_file:
      - '.\database.env'
    volumes:
      - 'sqldata:C:\wfgen\sql'

volumes:
  wfgdata:
  licenses:
    external: true
  sqldata:

Enregistrez ce fichier sous le nom docker-compose.yml en utilisant le chemin où vous avez placé vos fichiers de variables d’environnement, puis exécutez la commande suivante :

Set-Location C:\Path\To\ComposeFile
docker-compose up

Attendez quelques minutes que les conteneurs soient lancés, puis ouvrez un navigateur et accédez à http://localhost:8080/wfgen, où vous serez invité à vous authentifier. Entrez les informations d'identification (nom d'utilisateur wfgen_admin et mot de passe strong(!)Pass). La page d'accueil de WorkflowGen devrait s'afficher.

Dernière mise à jour