10 KiB
title, type, sources, related, last_compiled
| title | type | sources | related | last_compiled | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| First Deployment (New Project) | operation |
|
|
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 anciensdeploy.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, ajouterToggleServiceà 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 5–7 (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
RuntimeExceptionpendant "Importing apps with AD..." sur versions 24.xx.xx.xx → ajouterToggleServicedansEnabledModules.- BDD refuse la connexion pendant le deploy → divergence entre
DBEngineduDeployConfig.yamlet l'engine du template VM. Vérifierenv.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. Licensenon 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'unTenantNameunique par projet.
Related
- VM Installation — pré-requis : VM Hyper-V créée et validée
- Deploy Existing Application — déploiements ultérieurs (autres devs, redéploiement, changement de branche)
- Deploy Specific Commit — déployer un commit figé plutôt que le HEAD d'une branche
- Custom Application Management — étape 9 (création initiale de la custom app)
- Git Workflow — stratégie de branches pour le projet
- GNA, Services & License — installation des services GNA, Printer, License WMS après déploiement
- System Architecture Overview — stack cible (IIS, BDD, services)
- Parameters — paramètres WMS chargés via uGNA (étape 6)