====== Comment déployer ou mettre à jour le serveur PGI & LoGeAs Web ? (procédure #42) ====== ===== Informations qualité ===== |**Suivi des modifications majeures** | \\ 11/08/2016 - Mélanie Loubet - Création du document \\ 13/12/2016 - Valentin Barrère - Mise à jour \\ 01/08/2017 - Nicolas Marchand - Portage sur wikibook \\ 12/09/2017 - Valentin Barrère - Mise à jour nouvelle procédure \\ 10-09-2019 - Nicolas Marchand - Refonte avec automatisation des process| |**Suivi des approbations** |Ce document correspond à l'élément ProjeQtor Document # 42 - Procédure de MAJ du serveur PGI| |**Objet** |Ou et comment mettre à jour le serveur pgi| |**Destinataires** |**- Validation des modifications : ** Gérant \\ **- Approbation du document** : Equipe dev| \\ ===== Procédure rapide ===== ==== Préparer les exe ==== - Ouvrir dans Delphi le projet ** D:\dev\logeas\src\LoGeAsV9\LoGeAsV9-COMPLET.groupproj ** - Pour le sous projet "LoGeAsPGI_ServeurService" * choisir la "configuration de construction" **Release** __que se soit pour une alpha ou une release__ * faire "construire" - Pour le sous projet "LoGeAsV9_ServeurService" * choisir la "configuration de construction" **Release** __que se soit pour une alpha ou une release__ * faire "construire" ====== Comment déployer ou mettre à jour le serveur PGI & LoGeAs Web ? ====== ===== Informations qualité ===== |**Suivi des modifications majeures** | \\ 11/08/2016 - Mélanie Loubet - Création du document \\ 13/12/2016 - Valentin Barrère - Mise à jour \\ 01/08/2017 - Nicolas Marchand - Portage sur wikibook \\ 12/09/2017 - Valentin Barrère - Mise à jour nouvelle procédure \\ 10-09-2019 - Nicolas Marchand - Refonte avec automatisation des process| |**Suivi des approbations** |Ce document correspond à l'élément ProjeQtor Document # 42 - Procédure de MAJ du serveur PGI| |**Objet** |Ou et comment mettre à jour le serveur pgi| |**Destinataires** |**- Validation des modifications : ** Gérant \\ **- Approbation du document** : Equipe dev| ===== Procédure rapide ===== ==== Préparer les exe ==== - Ouvrir dans Delphi le projet ** D:\dev\logeas\src\LoGeAsV9\LoGeAsV9-COMPLET.groupproj ** - Pour le sous projet "LoGeAsPGI_ServeurService" * choisir la "configuration de construction" **Release**__que se soit pour une alpha ou une release__ * faire "construire" - Pour le sous projet "LoGeAsV9_ServeurService" * choisir la "configuration de construction" **Release**__que se soit pour une alpha ou une release__ * faire "construire" ==== Préparer les fichiers à envoyer sur le serveur ==== - Aller dans le dossier **"D:\dev\logeas\bin\logeasV9\Serveur" et PGI ?** * Ouvrir le fichier **version.json** * Modifiez la variable **NumeroVersionLast** en y mettant le version minimum pouvant se connecter au serveur - Aller dans le dossier **"D:\dev\logeas\proc"** - lancer le batch **"Prepare Publication Serveurs LoGeas Web - Alpha"** ou **"Prepare Publication Serveurs LoGeas Web - Release"** **Les fichiers sont crée dans le dossier "d:\dev\publication\"** ==== Transfert des fichiers sur le serveur ==== Les fichiers peuvent être transférés par deux biais : * Utilisation de fillzilla [[:certif:procedure:miseenplaceserveur#etape_2transferer_les_fichiers|Voir plus d'information]] * par les biais de nextcloud dont le dossier "Transfert" est synchroniser sur le serveur ==== Préparation de l'installation sur le serveur ==== - Ouvrir une session sur le serveur [[:certif:procedure:miseenplaceserveur#etape_3acceder_au_serveur|Voir plus d'information]] - Copier les 2 fichiers transférés dans le dossier **"C:\MiseAjour"** - le lancement est automatique à 2 heure du matin, pour un lancement manuel utilisez le bath "Mise a jour LoGeAs Alpha.bat" ou "Mise a jour LoGeAs Release.bat" situé dans le répertoire "C:\MiseAJour" du serveur [[:certif:procedure:miseenplaceserveur#information_sur_la_mise_en_place_de_la_mise_a_jour|Voir plus d'information]] ==== Prés-requis ==== * l'arborescence de développement doit être respecté (déploiement dans d:\dev\) * 7zip doit être installé dans le dossier "c:\Program Files\7-Zip\7z.exe" ===== Compléments ===== ==== Construire les projets à publier ==== {{:certif:procedure:cp1.jpg?nolink&400 }}Avant toute chose, les projets à publier et/ou mettre à jour doivent être construits **en mode release. **Ce paramètre peut être réglé dans la partie droite de la fenêtre de l'EDI. Il faut déplier «**Configurations de construction **» puis double-cliquer sur le mode choisi. \\ \\ Ensuite, faire un clic droit sur le projet à compiler puis cliquer sur «**Construire**». Les projets à construire pour une mise à jour sont **LoGeAsPGI_ServeurService** et **LoGeAsV9_ServeurService**. \\ Dans le cas d'une nouvelle installation des serveurs, il vous faudra aussi construire les projets //LoGeAsPGI_ServeurService_Install// et //LoGeAsV9_ServeurService_Install//. ==== Fichiers à transférer ==== Les fichiers nécessaires au bon fonctionnement de **PGI** sont (tous les chemins suivants partent de la racine "D:\dev\logeas\bin\LoGeAsPGI"): * Le service du serveur, "LoGeAsPGI_ServeurService.exe", qui se trouve dans le dossier "Service" * Le dossier "Views" et tout ce qu'il contient * Le dossier "reports" et tout ce qu'il contient * Le dossier "Document", qui doit contenir deux sous dossiers, "DocLicence" et "Intranet" * Le fichier "sqlite3.dll" * Le fichier "config.json" \\ \\ Les fichiers nécessaires au bon fonctionnement du **serveur de bases (serveur V9)** sont (tous les chemins suivants partent de la racine "D:\dev\logeas\bin\logeasV9\Serveur"): * Le service du serveur, "LoGeAsV9_ServeurService.exe", qui se trouve dans le dossier "Service" * Le dossier "Views" et tout ce qu'il contient * Un dossier nommé "BasesClients", vide pour une nouvelle installation * Le dossier "Defaut" et tout ce qu'il contient * Le fichier "config.json" * Le fichier "version.json" \\ **Pour une mise à jour des serveurs**, il n'est pas utile de transférer tous les fichiers. Pour PGI, seuls l’exécutable du service et le dossier "Views" suffisent. Pour le serveur V9, il est nécessaire d'y ajouter aussi le dossier "Defaut" ainsi que le fichier version.json, qu'il faut au préalable mettre à jour ("NumeroVersionLast", qui correspond à la dernière version de LoGeAs acceptée avec cette version du serveur). Pour les préparer, un fichier bat existe à la racine de chacun des répertoires. Il vous suffit d’exécuter les fichiers //bin\LoGeAsPGI\PreparePublication.bat et bin\logeasV9\Serveur\PreparePublication.bat//, qui vont créer des archives 7z contenant les fichiers nécessaires. \\ **Pour un nouveau déploiement des serveurs (nouvelle installation):** **Pour PGI**, préparer une archive contenant: * Les dossiers Documents, log, reports et Views à jour depuis le SVN * Le fichier config.json configuré selon le besoin ainsi que le fichier sqlite3.dll * Puis les exécutables LoGeAsPGI_ServeurService_Install.exe et LoGeAsPGI_ServeurService.exe **Pour V9**, l'archive doit contenir: * Un dossier BasesClients vide et les dossier Defaut et Views à jour du SVN * Les fichiers config.json et version.json, correctement configurés * Et les exécutables LoGeAsV9_ServeurService_Install.exe et LoGeAsV9_ServeurService.exe Une fois les archives décompressées dans leurs dossiers respectifs (en accord avec les fichiers de configurations), il faut enregistrer les serveurs en tant que services Windows. Ouvrir une invit de commande en administrateur et, dans le dossier du serveur PGI en premier, taper "LoGeAsPGI_ServeurService_Install.exe /install" puis "LoGeAsPGI_ServeurService_Install.exe /start", et faire de même dans le dossier du serveur V9 avec LoGeAsV9_ServeurService_Install.exe. Par la suite, les services sont gérables depuis le gestionnaire de service classique de Windows. ==== Transférer les fichiers ==== Pour ce transfert, on utilise un client FTP (FileZilla dans l'exemple). {{ :certif:procedure:image3.jpg?nolink&900x487 }} L’interface est divisée en quatre parties principales : - informations sur la connexion - fichiers du poste local - fichiers du poste distant (le serveur à actualiser) - la file des fichiers en cours de transfert On lance la connexion avec les réglages suivants (le mot de passe est sur DashLane) : {{ :certif:procedure:image4.jpg?nolink&900x39 }} Pour transférer des fichiers d’un répertoire local à un répertoire distant, on se place dans le bon dossier grâce aux arborescences en haut des parties (2) et (3). Le contenu du répertoire choisi s’affiche juste en-dessous, il suffit de sélectionner un ou plusieurs éléments puis de faire clic droit > Envoyer côté local pour les transférer dans le répertoire affiché côté serveur. **{{ :certif:procedure:image5.jpg?nolink&439x263 }}Il faut transférer les fichiers à mettre à jour dans le dossier « update » de chaque application**, car les serveurs étant toujours en cours d’exécution la copie serait refusée si faite directement à l'emplacement de l'exe. ==== Accéder au serveur ==== Pour accéder à distance au serveur, il faut utiliser l’application « **Connexion bureau à distance **». Au lancement, une fenêtre s’ouvre, le poste à atteindre est « app.logeas.fr ». Vous pouvez vous connecter avec vos comptes personnels (ne nécessite pas de droits admin). {{ :certif:procedure:image6.jpg?nolink&419x266 }} \\ **Après avoir cliqué sur « Connexion » et entré ses identifiants, le bureau du serveur s’affiche. Attention aux actions effectuées sur le serveur !** \\ ==== Transfert des fichiers sur le serveur ==== Les fichiers peuvent être transférés par deux biais : * Utilisation de fillzilla * par les biais de nextcloud dont le dossier "Transfert" est synchroniser sur le serveur ==== Préparation de l'installation sur le serveur ==== - Ouvrir une session sur le serveur - Copier les 2 fichiers transférés dans le dossier **"C:\MiseAjour"** - le lancement est automatique à 2 heure du matin, pour un lancement manuel utilisez le bath "Mise a jour LoGeAs Alpha.bat" ou "Mise a jour LoGeAs Release.bat" situé dans le répertoire "C:\MiseAJour" du serveur ==== Prés-requis ==== * l'arborescence de développement doit être respecté (déploiement dans d:\dev\) * 7zip doit être installé dans le dossier "c:\Program Files\7-Zip\7z.exe" ===== Compléments ===== ==== Construire les projets à publier ==== {{:certif:procedure:cp1.jpg?nolink&400 |}} Avant toute chose, les projets à publier et/ou mettre à jour doivent être construits **en mode release. **Ce paramètre peut être réglé dans la partie droite de la fenêtre de l'EDI. Il faut déplier «**Configurations de construction **» puis double-cliquer sur le mode choisi. \\ \\ Ensuite, faire un clic droit sur le projet à compiler puis cliquer sur «**Construire**». Les projets à construire pour une mise à jour sont **LoGeAsPGI_ServeurService** et **LoGeAsV9_ServeurService**. \\ Dans le cas d'une nouvelle installation des serveurs, il vous faudra aussi construire les projets //LoGeAsPGI_ServeurService_Install// et //LoGeAsV9_ServeurService_Install//. ==== Fichiers à transférer ==== Les fichiers nécessaires au bon fonctionnement de **PGI** sont (tous les chemins suivants partent de la racine "D:\dev\logeas\bin\LoGeAsPGI"): * Le service du serveur, "LoGeAsPGI_ServeurService.exe", qui se trouve dans le dossier "Service" * Le dossier "Views" et tout ce qu'il contient * Le dossier "reports" et tout ce qu'il contient * Le dossier "Document", qui doit contenir deux sous dossiers, "DocLicence" et "Intranet" * Le fichier "sqlite3.dll" * Le fichier "config.json" \\ \\ Les fichiers nécessaires au bon fonctionnement du **serveur de bases (serveur V9)** sont (tous les chemins suivants partent de la racine "D:\dev\logeas\bin\logeasV9\Serveur"): * Le service du serveur, "LoGeAsV9_ServeurService.exe", qui se trouve dans le dossier "Service" * Le dossier "Views" et tout ce qu'il contient * Un dossier nommé "BasesClients", vide pour une nouvelle installation * Le dossier "Defaut" et tout ce qu'il contient * Le fichier "config.json" * Le fichier "version.json" \\ **Pour une mise à jour des serveurs**, il n'est pas utile de transférer tous les fichiers. Pour PGI, seuls l’exécutable du service et le dossier "Views" suffisent. Pour le serveur V9, il est nécessaire d'y ajouter aussi le dossier "Defaut" ainsi que le fichier version.json, qu'il faut au préalable mettre à jour ("NumeroVersionLast", qui correspond à la dernière version de LoGeAs acceptée avec cette version du serveur). Pour les préparer, un fichier bat existe à la racine de chacun des répertoires. Il vous suffit d’exécuter les fichiers //bin\LoGeAsPGI\PreparePublication.bat et bin\logeasV9\Serveur\PreparePublication.bat//, qui vont créer des archives 7z contenant les fichiers nécessaires. \\ **Pour un nouveau déploiement des serveurs (nouvelle installation):** **Pour PGI**, préparer une archive contenant: * Les dossiers Documents, log, reports et Views à jour depuis le SVN * Le fichier config.json configuré selon le besoin ainsi que le fichier sqlite3.dll * Puis les exécutables LoGeAsPGI_ServeurService_Install.exe et LoGeAsPGI_ServeurService.exe **Pour V9**, l'archive doit contenir: * Un dossier BasesClients vide et les dossier Defaut et Views à jour du SVN * Les fichiers config.json et version.json, correctement configurés * Et les exécutables LoGeAsV9_ServeurService_Install.exe et LoGeAsV9_ServeurService.exe Une fois les archives décompressées dans leurs dossiers respectifs (en accord avec les fichiers de configurations), il faut enregistrer les serveurs en tant que services Windows. Ouvrir une invit de commande en administrateur et, dans le dossier du serveur PGI en premier, taper "LoGeAsPGI_ServeurService_Install.exe /install" puis "LoGeAsPGI_ServeurService_Install.exe /start", et faire de même dans le dossier du serveur V9 avec LoGeAsV9_ServeurService_Install.exe. Par la suite, les services sont gérables depuis le gestionnaire de service classique de Windows.\\ ==== Transférer les fichiers ==== Pour ce transfert, on utilise un client FTP (FileZilla dans l'exemple). {{ :certif:procedure:image3.jpg?nolink&900x487 }} L’interface est divisée en quatre parties principales : - informations sur la connexion - fichiers du poste local - fichiers du poste distant (le serveur à actualiser) - la file des fichiers en cours de transfert On lance la connexion avec les réglages suivants (le mot de passe est sur DashLane) : {{ :certif:procedure:image4.jpg?nolink&900x39 }} Pour transférer des fichiers d’un répertoire local à un répertoire distant, on se place dans le bon dossier grâce aux arborescences en haut des parties (2) et (3). Le contenu du répertoire choisi s’affiche juste en-dessous, il suffit de sélectionner un ou plusieurs éléments puis de faire clic droit > Envoyer côté local pour les transférer dans le répertoire affiché côté serveur. **{{ :certif:procedure:image5.jpg?nolink&439x263 }}Il faut transférer les fichiers à mettre à jour dans le dossier « update » de chaque application**, car les serveurs étant toujours en cours d’exécution la copie serait refusée si faite directement à l'emplacement de l'exe. ==== Accéder au serveur ==== Pour accéder à distance au serveur, il faut utiliser l’application « **Connexion bureau à distance **». Au lancement, une fenêtre s’ouvre, le poste à atteindre est « app.logeas.fr ». Vous pouvez vous connecter avec vos comptes personnels (ne nécessite pas de droits admin). {{ :certif:procedure:image6.jpg?nolink&419x266 }}\\ **Après avoir cliqué sur « Connexion » et entré ses identifiants, le bureau du serveur s’affiche. Attention aux actions effectuées sur le serveur !** ==== Information sur la mise en place de la mise à jour ==== La mise en place est faite au travers d'un batch windows qui est lancé tous les soirs à 2h === Editer le script === - Lancer le **"Task Sheduler"** par le menu "start" - Aller le dossier **"Task Schedeler (local)\Task Schedeler Library\logeas"** - Ouvrir la tâche **"Mise à jour PGI & LoGeAs WEB - Alpha"** ou **"Mise à jour PGI & LoGeAs WEB - Release"** par un double-click ou par click droit "properties" === Remarques === * Penser que le script doit être exécuter même si l'utilisateur n'est pas connecté (ergo général) === Le script === Rem en cas de mise à jour -> https://wiki.logeas.fr/intranet:procedure:pgi:miseenplaceserveur#information_sur_la_mise_en_place_de_la_mise_a_jour echo Preparation du nom du fichier set dateheure=%date:~0,2%-%date:~3,2%-%date:~6,4%_%time:~0,2%h%time:~3,2%min set dateheure=%dateheure: =% REM VARIABLE A MODIFIER set NomFichierBackup="S:\Backups PGI_V9\%dateheure%_LoGeAsAlpha.7z" set CheminPGI="C:\RemoteApp\LoGeAsPGITEST" set CheminWEB="C:\RemoteApp\LoGeAsV9Test" set Source="C:\MiseAJour\" set SourcePGI="%Source%LoGeAsWebAlpha.7z" set SourceWEB="%Source%LoGeAsPGIAlpha.7z" if exist %SourceWEB% goto suite if exist %SourcePGI% goto suite goto fini :suite echo On coupe les serveurs net stop LoGeAsV9ServeurBeta net stop LoGeAsPGIBeta echo On archive "C:\Program Files\7-Zip\7z.exe" a %NomFichierBackup% %CheminPGI% -mtc=on "C:\Program Files\7-Zip\7z.exe" a %NomFichierBackup% %CheminWEB% -mtc=on echo on nettoie cd %CheminWEB% del /s /q /f *.log del /s /q /f *.synlz cd %CheminPGI% del /s /q /f *.log del /s /q /f *.synlz echo on dearchive if not exist %SourceWEB% goto suite2 cd %CheminWEB% "C:\Program Files\7-Zip\7z.exe" x %SourceWEB% -y :suite2 if not exist %SourcePGI% goto suite3 cd %CheminPGI% "C:\Program Files\7-Zip\7z.exe" x %SourcePGI% -y :suite3 echo On remonte les serveurs net start LoGeAsPGIBeta net start LoGeAsV9ServeurBeta echo on Efface les fichiers Del %SourceWEB% Del %SourcePGI% :fini