Files
mcp-wms-wiki/wiki_old_13-05-2026/sources/archives/Premier_deploiement.md
T
2026-05-20 09:41:27 +02:00

317 lines
10 KiB
Markdown

# Premier déploiement
> Source : [Confluence EasyWMS France](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000088396042/Premier+d%C3%A9ploiement)
> Dernière mise à jour : 07/08/2025 (v39)
---
### 1 - Vérifier le fichier "DeployConfig.yaml"
Aller dans le dossier **`build`** du répertoire GIT du projet. Vous devez y trouver un fichier `DeployConfig.yaml`, sinon le télécharger et l'y placer.
**Vérifier les champs suivants :**
- **TenantName / TenantCode** — nom et code de l'application souhaitée :
```yaml
TenantName: MonNomProjet
TenantCode: MonCodeProjet
```
- **DBEngine** — moteur de base de données (doit correspondre à celui défini dans `env.secrets.yaml` situé dans `C:\deploy` de la VM) :
```yaml
DBEngine: Oracle # SQLServer, MySQL, Oracle, PostgreSQL
```
- **MAPSeed** — dernière version WMS [disponible ici](https://msscc.mecalux.com/documentation/documentation/master/EN/ReleaseNotes.md) :
```yaml
MAPSeed: 22.9.19.1 # Any version published on mapdeploy.mecalux.com
```
- **License** — doit être défini à `ENTERPRISE` :
```yaml
License: ENTERPRISE # PRO, ADVANCE, ENTERPRISE
```
- **Warehouse** — chemin d'accès au fichier de configuration de l'entrepôt (normalement dans `layout_config`) :
```yaml
Warehouse: layout_config/MAPAB_layout.cfg2014 # [OPTIONAL] Relative path to the layout file
```
- **Data** — chemin d'accès aux fichiers de configuration du WMS (normalement dans `test`) :
```yaml
Data: test # [OPTIONAL] Relative path to the folder that has the data for uGNA
```
- **StandardApplications** — applications souhaitées selon l'analyse fonctionnelle (reprendre les entrées `Use="Yes"` de la balise `<ExtraApps>` du fichier `responses.xml`) :
```yaml
StandardApplications: # The applications to install, listed with the same names as in the responses.xml
- SmartUI
```
<details>
<summary>Exemple de responses.xml correspondant</summary>
```xml
<ExtraApps>
<Item Use="Yes" Name="SmartUI" ... />
<Item Use="No" Name="AccountDirective" ... />
<Item Use="No" Name="Billing" ... />
<Item Use="No" Name="CashAndCarry" ... />
<Item Use="No" Name="Dashboard" ... />
<Item Use="No" Name="Deliveries" ... />
<Item Use="No" Name="Ecommerce" ... />
<Item Use="No" Name="ExternalDevices" ... />
<Item Use="No" Name="GalileoFaults" ... />
<Item Use="No" Name="LaborManagement" ... />
<Item Use="No" Name="Manufacturing" ... />
<Item Use="No" Name="OwnerExtensions" ... />
<Item Use="No" Name="PalletShuttle" ... />
<Item Use="No" Name="Sage200c" ... />
<Item Use="No" Name="Slotting" ... />
<Item Use="No" Name="TPLPortal" ... />
<Item Use="No" Name="ValueAddedService" ... />
<Item Use="No" Name="YardManagement" ... />
</ExtraApps>
```
</details>
- **Customs** — laisser vide pour l'instant (sera renseigné à l'étape 10) :
```yaml
Customs: # [OPTIONAL] Relative path to the custom applications exported as text
```
- **EnaledModules** — liste de tous les modules à activer (reprendre la balise `<Modules>` du `responses.xml`, **sauf `EasyWMS`** qui est inclus de base) :
> ⚠️ **Problème connu sur les versions 24.xx.xx.xx** : l'action *"Importing apps with AD..."* peut durer très longtemps et être suivie d'une erreur `System.Management.Automation.RuntimeException`. Dans ce cas, ajouter `ToggleService` à la liste.
```yaml
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 # Needed in version >24.XX.XX.XX
```
<details>
<summary>Exemple de responses.xml correspondant</summary>
```xml
<Modules>
<Module Name="EasyWMS" LicenseLevel="ENTERPRISE" />
<Module Name="SmartUI" LicenseLevel="ENABLED" />
<Module Name="AccountDirective" LicenseLevel="ENABLED" />
<Module Name="Billing" LicenseLevel="ENABLED" />
<Module Name="CashAndCarry" LicenseLevel="ENABLED" />
<Module Name="Dashboard" LicenseLevel="ENABLED" />
<Module Name="Deliveries" LicenseLevel="ENABLED" />
<Module Name="Ecommerce" LicenseLevel="ENABLED" />
<Module Name="GalileoFaults" LicenseLevel="ENABLED" />
<Module Name="LaborManagement" LicenseLevel="ENABLED" />
<Module Name="Manufacturing" LicenseLevel="ENABLED" />
<Module Name="MarketPlace" LicenseLevel="ENABLED" />
<Module Name="OwnerExtensions" LicenseLevel="ENABLED" />
<Module Name="PalletShuttle" LicenseLevel="ENABLED" />
<Module Name="Sage200c" LicenseLevel="ENABLED" />
<Module Name="SageX3" LicenseLevel="ENABLED" />
<Module Name="Slotting" LicenseLevel="ENABLED" />
<Module Name="TPLPortal" LicenseLevel="ENABLED" />
<Module Name="ValueAddedService" LicenseLevel="ENABLED" />
<Module Name="YardManagement" LicenseLevel="ENABLED" />
<Module Name="EDSService" LicenseLevel="ENABLED" />
<Module Name="ExternalDevices" LicenseLevel="ENABLED" />
<Module Name="GalileoDesigner" LicenseLevel="ENABLED" />
<Module Name="Gateway" LicenseLevel="ENABLED" />
<Module Name="GNA" LicenseLevel="ENABLED" />
<Module Name="PrinterService" LicenseLevel="ENABLED" />
<Module Name="PTLService" LicenseLevel="ENABLED" />
<Module Name="PalletShuttleService" LicenseLevel="ENABLED" />
<Module Name="VoicePicking" LicenseLevel="ENABLED" />
</Modules>
```
</details>
- **Users** — laisser vide pour ne garder que l'utilisateur `mecalux` par défaut, ou définir des utilisateurs supplémentaires :
```yaml
Users: # [OPTIONAL] "mecalux" user can be overwritten
- UserName:
Password: UserPassword
Groups: SuperAdmin,Administrators,Managers,Operators
```
---
### 2 - Déplacer le fichier de config entrepôt
Placer le fichier de configuration de l'entrepôt EasyS dans le dossier **`layout_config`** du répertoire GIT du projet.
> ⚠️ Ne pas oublier de **commit et push** le répertoire Git.
---
### 3 - Vérifier le fichier "env.secrets.yaml" du dossier Deploy (sur la VM)
Vérifier les informations concernant la base de données utilisée sur le projet :
| Paramètre | Valeur par défaut |
|-----------|-------------------|
| `Engine` | `Oracle` |
| `Server` | `localhost/orcl` |
| `Password` (des différentes bases) | `robmec` |
---
### 4 - Déploiement complet
Ouvrir **PowerShell en administrateur** dans le dossier `Deploy` de la VM et exécuter :
```powershell
# Déploiement sur la branche Master (par défaut)
.\deploy_repository.ps1 NomDuProjetGit
# Déploiement sur une branche spécifique
.\deploy_repository.ps1 NomDuProjetGit Branche
```
Exemple pour le projet `Ma_Pieces_Autos_Bretagne` :
```powershell
.\deploy_repository.ps1 1707_FRANCE_MA_PIECES_AUTOS_BRETAGNE
```
> Plus de détails sur l'exécution du script : [Documentation Mecalux](https://mssdoc.mecalux.com/en_US/my_documentation/doc/ExternalProcedures/master/ProfessionalServices/TaskWorkBreakDownAndVerification/TaskWorkBreakdownAndVerification.md#md-deployscriptfordevelopmentenvironments)
**Cas d'erreurs classiques :**
- **VM non connectée à internet** : lancer Internet Explorer pour se connecter à Zscaler.
- ⚠️ VPN **désactivé** si vous êtes au bureau. VPN **actif** en télétravail.
- **Git non installé** sur la VM : [https://git-scm.com/download/win](https://git-scm.com/download/win)
- Autres erreurs : consulter la page [Installation machine virtuelle de développement](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/2786690269319) au paragraphe **"Deploy 1"**.
> ✅ Sans erreur, vous pouvez **sauter les étapes 5, 6 et 7**.
---
### 5 - Deploy 1 *(anciens scripts de deploy uniquement)*
Ouvrir PowerShell en administrateur dans le dossier `Deploy` de la VM et exécuter :
```powershell
.\deploy.ps1
```
Choisir **"1. Complete"**.
> En cas d'erreur : consulter la page [Installation machine virtuelle de développement](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/2786690269319) au paragraphe **"Deploy 1"**.
---
### 6 - Intégrer la configuration d'entrepôt *(anciens scripts de deploy uniquement)*
Ouvrir PowerShell en administrateur dans le dossier `Deploy` de la VM et exécuter :
```powershell
.\deploy.ps1
```
Choisir **"2. Load"**.
Cela transfèrera :
- La configuration entrepôt depuis **`C:\deploy\Config`**
- Les paramètres exportés via uGNA depuis **`C:\deploy\Data`**
> Il est également possible d'utiliser **EasyS** pour charger le fichier de config via un *Transfert Data* vers la VM.
---
### 7 - Assignation de l'utilisateur à l'entrepôt *(anciens scripts de deploy uniquement)*
Ouvrir PowerShell en administrateur dans **`C:\deploy`** et exécuter :
```powershell
.\Commands\commands.ps1
```
Il est aussi possible de faire l'assignation via le WMS : dans **SmartUI**, aller dans **"Organisation"** → **"Utilisateurs"**, sélectionner l'utilisateur (par défaut `mecalux`) et l'éditer pour ajouter les sites autorisés.
---
### 8 - Désactiver les instances stockées sur la base de données
Dans le fichier **`Tenants.xml`** situé dans `C:\inetpub\wwwroot\ApplicationService`, remplacer la ligne :
```xml
<processStore name="TENANT ProcessStore" providerName="Oracle.ManagedDataAccess.Client" />
```
par :
```xml
<processStore name="TENANT ProcessStore" providerName="InMemory" connectionString="MaxProcessInfoLogs=20;MaxProcessLogEntries=50"/>
```
Puis effectuer un redémarrage de l'application (`iisreset` ou recyclage du pool de l'ApplicationService).
> ⚠️ Sans cette modification, les instances ne fonctionneront pas.
---
### 9 - Créer l'application custom
Procéder à la création de l'application custom avec l'export sur le GIT.
> Voir : [Gestion de la custom application — Création](https://easywmsfrance.atlassian.net/wiki/spaces/EF/pages/3000089673775/Gestion+de+la+custom+application#1---Cr%C3%A9ation-de-l%E2%80%99application-custom)
---
### 10 - Mettre à jour le fichier "DeployConfig.yaml"
Ajouter le chemin de l'application custom dans le fichier **`DeployConfig.yaml`** (dossier `build` du projet GIT) :
```yaml
Customs: # [OPTIONAL] Relative path to the custom applications exported as text
- NomApplication: chemin/du/dossier/GIT/de/lapplication
```
Exemple :
```yaml
Customs:
- CustomApplication: source/CustomApplication
```