Files
mcp-wms-wiki/wiki/operations/first-deployment.md
T
arthur 9ce6ae37be lint(standard): corrections completes mode standard
- Em dashes: 1712 remplaces par tirets simples (86 fichiers + _index.md,
  en-tete section Limagrain conserve)
- Checklists: 24 '- [ ]' -> '- ☐' (3 pages operations, plus de todos Obsidian)
- Ancres: 33 reparees (slugs GitHub + ancres HTML <a id> reconnues),
  1 reciblee (manuel de reten)
- related: tenseflow -> tense-flow, pie -> mechanical-elements,
  group.md retire (doublon shipping)
- Registre: compteur global 122 -> 131 pages
- Rapport racine _lint_report.md mis a jour (scan v2 + re-scan final: 0 anomalie)
- Aucun fichier limagrain/ modifie (cloisonnement)
2026-07-20 13:01:21 +02:00

10 KiB
Raw Blame History

title, type, sources, related, last_compiled
title type sources related last_compiled
First Deployment (New Project) operation
sources/archives/Premier_deploiement.md
operations/vm-installation.md
operations/deployment-existing-app.md
operations/custom-application-management.md
operations/gna-services-license.md
architecture/overview.md
concepts/parameters.md
2026-04-17

First Deployment (New Project)

Overview

Procédure de premier déploiement d'un projet EasyWMS sur une VM de développement fraîchement préparée (cf. vm-installation). Déclinaison des étapes à suivre pour initialiser :

  • Le fichier de configuration de déploiement DeployConfig.yaml (choix BDD, version WMS, modules, applications)
  • Le dépôt GIT du projet (fichier de layout EasyS, paramètres uGNA)
  • Le script de déploiement deploy_repository.ps1 (script unifié qui remplace les anciens deploy.ps1 + commands.ps1)
  • La première custom application (cf. custom-application-management)

Cette procédure n'est exécutée qu'une seule fois par projet. Pour tous les déploiements ultérieurs (autre dev rejoignant le projet, redéploiement après modif), voir deployment-existing-app.

Source : Confluence EasyWMS France - Premier déploiement (v39, 07/08/2025).

Étape 1 - DeployConfig.yaml

Le fichier build/DeployConfig.yaml du dépôt GIT du projet pilote le déploiement. S'il est absent, le télécharger et l'y placer. Champs critiques à vérifier :

TenantName / TenantCode

TenantName: MonNomProjet
TenantCode: MonCodeProjet

DBEngine

Doit correspondre à l'engine défini dans C:\deploy\env.secrets.yaml de la VM.

DBEngine: Oracle  # SQLServer | MySQL | Oracle | PostgreSQL

MAPSeed (version WMS)

Dernière version publiée sur mapdeploy.mecalux.com :

MAPSeed: 22.9.19.1

License

License: ENTERPRISE  # PRO | ADVANCE | ENTERPRISE

Warehouse (layout EasyS)

Chemin relatif au fichier de layout (typiquement layout_config/) :

Warehouse: layout_config/MAPAB_layout.cfg2014

Data (paramètres uGNA)

Chemin relatif aux fichiers de config WMS (typiquement test/) :

Data: test

StandardApplications

Les applications à installer - reprendre la liste <ExtraApps> du responses.xml du projet, en ne gardant que celles avec Use="Yes" :

StandardApplications:
    - SmartUI

EnabledModules

Liste complète des modules à activer - reprendre la balise <Modules> du responses.xml, sauf EasyWMS (inclus par défaut).

⚠️ Problème connu versions 24.xx.xx.xx : l'étape "Importing apps with AD..." peut durer très longtemps et échouer avec une erreur System.Management.Automation.RuntimeException. Dans ce cas, ajouter ToggleService à la liste.

EnabledModules:
    - SmartUI
    - AccountDirective
    - Billing
    - CashAndCarry
    - Dashboard
    - Deliveries
    - Ecommerce
    - GalileoFaults
    - LaborManagement
    - Manufacturing
    - MarketPlace
    - OwnerExtensions
    - PalletShuttle
    - Sage200c
    - SageX3
    - Slotting
    - TPLPortal
    - ValueAddedService
    - YardManagement
    - EDSService
    - ExternalDevices
    - GalileoDesigner
    - Gateway
    - GNA
    - PrinterService
    - PTLService
    - PalletShuttleService
    - VoicePicking
    - ToggleService  # Requis en version >= 24.xx

Customs (application custom)

Laisser vide pour ce premier déploiement - renseigné à l'étape 10.

Users

Laisser vide pour conserver uniquement l'utilisateur mecalux par défaut ; sinon :

Users:
    - UserName:
        Password: UserPassword
        Groups: SuperAdmin,Administrators,Managers,Operators

Étape 2 - Déposer le fichier de layout EasyS

Placer le fichier de configuration entrepôt EasyS (ex : MAPAB_layout.cfg2014) dans le dossier layout_config/ du dépôt GIT.

⚠️ Bien commit et push après dépôt - le script de déploiement clone le GIT.

Étape 3 - Vérifier env.secrets.yaml sur la VM

Dans C:\deploy\env.secrets.yaml de la VM, vérifier que les paramètres BDD correspondent à la BDD de la VM :

Paramètre Valeur par défaut
Engine Oracle ou PostgreSQL
Server localhost/orcl (Oracle) / localhost (PostgreSQL)
Password (toutes BDD) robmec

Étape 4 - Déploiement complet (script unifié)

Ouvrir PowerShell en administrateur dans C:\deploy de la VM :

# Sur Master (par défaut)
.\deploy_repository.ps1 NomDuProjetGit

# Sur une branche spécifique
.\deploy_repository.ps1 NomDuProjetGit Branche

Exemple :

.\deploy_repository.ps1 1707_FRANCE_MA_PIECES_AUTOS_BRETAGNE

D'après l'équipe Espagne, il devrait être possible de déployer n'importe quelle version depuis la 21.1.19.2 via ce script unifié.

Cas d'erreurs classiques

  • VM non connectée à internet → lancer Internet Explorer pour s'authentifier à Zscaler (VPN désactivé au bureau, actif en télétravail)
  • Git absent sur la VM → installer depuis git-scm.com/download/win
  • Autres erreurs → voir documentation Confluence Installation machine virtuelle de développement, paragraphe "Deploy 1"

Si aucune erreur : les étapes 5, 6, 7 sont à sauter. L'étape 8 (Tenants.xml) reste obligatoire.

Étapes 57 (anciens scripts uniquement)

À n'exécuter que si le projet utilise les anciens scripts deploy.ps1 + commands.ps1 (pas deploy_repository.ps1).

5 - Deploy 1 (Complete)

.\deploy.ps1   # choisir "1. Complete"

6 - Load (config entrepôt + paramètres uGNA)

.\deploy.ps1   # choisir "2. Load"

Ce qui est chargé :

  • Config entrepôt depuis C:\deploy\Config
  • Paramètres uGNA depuis C:\deploy\Data

Alternative : charger le layout via EasyS → Transfert Data vers la VM.

7 - Assignation utilisateur

.\Commands\commands.ps1

Alternative SmartUI : Organisation → Utilisateurs → sélectionner mecalux → ajouter les sites autorisés.

Étape 8 - Désactiver les instances en BDD (OBLIGATOIRE)

⚠️ Sans cette modification, les instances ne fonctionnent pas.

Dans C:\inetpub\wwwroot\ApplicationService\Tenants.xml, remplacer :

<processStore name="TENANT ProcessStore" providerName="Oracle.ManagedDataAccess.Client"  />

par :

<processStore name="TENANT ProcessStore" providerName="InMemory" connectionString="MaxProcessInfoLogs=20;MaxProcessLogEntries=50"/>

Puis redémarrer l'application : iisreset ou recyclage du pool ApplicationService.

Astuce Notepad++ (multi-tenant)

Activer le mode Regular expression dans Replace (Ctrl+H) :

  • Recherche : (<processStore name=")(.*)(ProcessStore.*$)
  • Remplacement : <processStore name="\2ProcessStore" providerName="InMemory" connectionString="MaxProcessInfoLogs=20;MaxProcessLogEntries=50"/>

Chaque occurrence est remplacée en conservant le nom de Tenant.

Étape 9 - Créer l'application custom

Procéder à la création initiale de la custom app et son premier export sur GIT.

Voir custom-application-management - Création.

Étape 10 - Compléter DeployConfig.yaml avec le Custom

Une fois la custom app créée et exportée, renseigner la section Customs :

Customs:
    - NomApplication: chemin/du/dossier/GIT/de/lapplication

Exemple :

Customs:
    - CustomApplication: source/CustomApplication

Désormais, chaque déploiement ultérieur (deploy_repository.ps1) reprendra automatiquement la custom app depuis le GIT.

Parameters (DeployConfig.yaml)

Clé Type Rôle
TenantName / TenantCode string Identifiant du tenant EasyWMS
DBEngine enum Oracle / PostgreSQL / SQLServer / MySQL - doit matcher env.secrets.yaml
MAPSeed string (version) Version WMS à déployer depuis mapdeploy
License enum PRO / ADVANCE / ENTERPRISE
Warehouse path Chemin relatif layout EasyS (.cfg2014)
Data path Chemin relatif dossier uGNA
StandardApplications list Applications à installer (miroir <ExtraApps Use="Yes">)
EnabledModules list Modules activés (miroir <Modules> sans EasyWMS)
Customs list Apps custom à importer (renseigné étape 10)
Users list Users additionnels (sinon mecalux seul)

Common errors

  • RuntimeException pendant "Importing apps with AD..." sur versions 24.xx.xx.xx → ajouter ToggleService dans EnabledModules.
  • BDD refuse la connexion pendant le deploy → divergence entre DBEngine du DeployConfig.yaml et l'engine du template VM. Vérifier env.secrets.yaml.
  • Deploy OK mais instances WMS inactives → étape 8 (Tenants.xml → InMemory) non exécutée. Étape obligatoire, même si tout semble fonctionner.
  • License non accepté → la VM fonctionne 7 jours ; au-delà, demander une licence projet (cf. gna-services-license).
  • Script ne trouve pas le projet GIT → vérifier nom exact du repo (sensible à la casse) et connectivité Zscaler/VPN.
  • Plusieurs devs → différents TenantName → pas un bug en soi, mais perturbe les merges. Convenir d'un TenantName unique par projet.