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

  1. Ouvrir dans Delphi le projet D:\dev\logeas\src\LoGeAsV9\LoGeAsV9-COMPLET.groupproj
  2. Pour le sous projet “LoGeAsPGI_ServeurService”
    • choisir la “configuration de construction” Release que se soit pour une alpha ou une release
    • faire “construire”
  3. 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

  1. Ouvrir dans Delphi le projet D:\dev\logeas\src\LoGeAsV9\LoGeAsV9-COMPLET.groupproj
  2. Pour le sous projet “LoGeAsPGI_ServeurService”
    • choisir la “configuration de construction” Releaseque se soit pour une alpha ou une release
    • faire “construire”
  3. Pour le sous projet “LoGeAsV9_ServeurService”
    • choisir la “configuration de construction” Releaseque se soit pour une alpha ou une release
    • faire “construire”

Préparer les fichiers à envoyer sur le serveur

  1. 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
  2. Aller dans le dossier “D:\dev\logeas\proc”
  3. 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 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

  1. Ouvrir une session sur le serveur Voir plus d'information
  2. Copier les 2 fichiers transférés dans le dossier “C:\MiseAjour”
  3. 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 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

cp1.jpgAvant 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).

image3.jpg

L’interface est divisée en quatre parties principales :

  1. informations sur la connexion
  2. fichiers du poste local
  3. fichiers du poste distant (le serveur à actualiser)
  4. la file des fichiers en cours de transfert

On lance la connexion avec les réglages suivants (le mot de passe est sur DashLane) :

image4.jpg

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.

image5.jpgIl 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).

image6.jpg
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

  1. Ouvrir une session sur le serveur
  2. Copier les 2 fichiers transférés dans le dossier “C:\MiseAjour”
  3. 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

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).

image3.jpg

L’interface est divisée en quatre parties principales :

  1. informations sur la connexion
  2. fichiers du poste local
  3. fichiers du poste distant (le serveur à actualiser)
  4. la file des fichiers en cours de transfert

On lance la connexion avec les réglages suivants (le mot de passe est sur DashLane) :

image4.jpg

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.

image5.jpgIl 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).

image6.jpg
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

  1. Lancer le “Task Sheduler” par le menu “start”
  2. Aller le dossier “Task Schedeler (local)\Task Schedeler Library\logeas”
  3. 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
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
certif/procedure/miseenplaceserveur.txt · Dernière modification: 2021/07/25 17:22 de nicolas