Tools:adagio-admin

De SIH - Adagio Wiki

Console d'administration des référentiels (adagio-admin) 

La console d'administration des référentiels est développée par la société E-IS.

Les contacts sont :

  • Laureline Touseau, chef de projet (laureline.touseau@e-is.pro)
  • Ludocvic Pecquot, développeur (ludovic.pecquot@e-is.pro)

Côté Ifremer, les contacts sont :

  • Claude Merrien, référent thématique (Claude.Merrien@ifremer.fr)
  • Erwan Bodéré, référent technique (Erwan.Bodere@ifremer.fr)

Documentation

Formation Adagio Admin 2014

  • Présentation

\\iota1\isi-projets\sih\gestion\work\adagio-admin\formation\doc\[adagio-admin] formation-2014-12-03.pptx

  • Manuel

\\iota1\isi-projets\sih\gestion\work\adagio-admin\formation\doc\Manuel développeur adagio-admin (WaveMaker user-guide).docx

Spécifications fonctionnelles

\\iota1\isi-projets\sih\documentation\spe-specification\dsf-dossier_de_specification_fonctionnelle\adagio_admin\adagio_admin-dsf-14-001-specifications_fonctionelles_administration_referentiels-v2.6.docx

Guide de développement

\\iota1\isi-projets\sih\documentation\dev-developpement\gdv-guide_developpement\adagio-admin\adagio-admin-gdv-15-001-document_technique.docx

Note technique sur le debugage

\\iota1\isi-projets\sih\gestion\work\adagio-admin\débogage Wavemaker sous eclipse.docx

Règles de gestion

EN COURS DE REDACTION

Les règles de gestion seront dans un premier temps gérées sous le projet svn adagio-admin dans un fichier xml : https://forge.ifremer.fr/svn/sih-adagio/trunk/adagio-admin/src/main/ressources/buisiness-rule.xml

La nomenclature des règles de gestion : RGXXYY, avec

  • RG00 : commun
    • RG0001 : authentification à l'application
    • RG0002 : administration des transcodages
      • RG000201 : administration des traductions
      • RG000202 : exceptions des transcodages obligatoires
  • RG01 : administration des droits
  • RG02 : administration des lieux

Voici un exemple du format à respecter  (il faudrait peut-être partir du framework de tests ?)

<business-rule id="RG000202 " name="exceptions des transcodages obligatoires">
  <use-case>
      Un transcodage obligatoire doit être saisie sur une entité. L'utilisateur ne peut pas saisir de valeur car celle-ci n'existe pas encore. Il saisit alors un code temporaire "_<clé primaire de l'entité>"
   </use-case>
  <post>TRANSCRIBING_ITEM.EXTERNAL_CODE="_<TRANSCRIBING_ITEM.OBJECT_ID ou OBJECT_CODE"></post>
</business-rule>

Cycle de vie du projet

Gestion des anomalies/évolutions

Toutes demandes d'évolution ou de corrections d'anomalies doit être tracées dans le Mantis Ifremer (projet : sih-adagio).

Workflow

Schéma à ajouter

Gestion des versions

  • Dans l'administration du projet Mantis
    • nom des versions : adagio-admin-x.y.z[-RCn]
    • les versions livrées doivent être marquées comme "publiée", les autres non
  • Dans les fiches mantis, il y a trois champs pour renseigner la version
    • version : version que l'on souhaite corriger ou faire évoluer
    • version ciblée : version dans laquelle on souhaite que la correction ou évolution soit implémentée
    • résolu dans la version : version dans laquelle la correction ou évolution est opérationelle

Le bonne gestion des versions permet de disposer des tableaux de bords suivants :

  • changelog : vue des anomalies/évolutions à recetter (version ciblée "livrée")
  • roadmap : vue des anomalies/évolutions à développer (version ciblée non "livrée")

Tests et recette

Le cahier de tests est rédigé sous testlink (projet : SIH ; id des cas de tests : SIH-03%)

Toute anomalie doit être reportée dans mantis selon la charte décrite ci-dessus.

Environnement de test

Génération du war

Le script prepare-war.sh permet de générer les wars à déployer.
Ce script et les configurations associées sont archivés sur le gitlab: https://gitlab.ifremer.fr/sih/adagio-admin/tree/develop/build.
Il faut préalablement copier le war généré via wavemaker sous /home/isi-projets/sih/gestion/tools/adagio-admin/_build/dist . Pour archive, il est utile de stocker la version générée sous /home/isi-projets/sih/gestion/tools/adagio-admin/version/. On peut ensuite exécuter les commandes suivantes sur la machine visi-sih-batch2:

ssh isi_exp@visi-sih-batch2
cd /home/isi-projets/sih/gestion/tools/adagio-admin/_build
./prepare-war.sh test

Le fichier généré est dans le répertoire /home/isi-projets/sih/gestion/tools/adagio-admin/_build/deploy/test

Déploiement du war

Il faut simplement copier le fichier war généré dans le dossier de l’instance Tomcat concerné.

L'instance tomcat de test est sur la machine visi-sih-tomcat1 sous /export/home/tomcat/instances/test-commune.
Les commandes à lancer sont donc:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/test-commune/webapps
cp /home/isi-projets/sih/gestion/tools/adagio-admin/_build/deploy/test/adagio-admin-test.war .

Arrêt et relance de l'instance tomcat

ssh isi_exp@visi-sih-tomcat1
visi-common-tomcat1:~> cd /export/home/tomcat/bin
# arrêt du service
visi-common-tomcat1:/export/home/tomcat/bin> ./stop.sh test-commune
  TOMCAT Instance test-commune
...
Tomcat stopped.

# nettoyage du service
visi-common-tomcat1:/export/home/tomcat/bin> ./cleanInstance.sh test-commune
instance test-commune is stopped
- Clean logs dir : /export/home/tomcat/instances/test-commune/logs/*
- Clean work dir : /export/home/tomcat/instances/test-commune/work/*
- Clean temp dir : /export/home/tomcat/instances/test-commune/temp/*

# relance du service
visi-common-tomcat1:/export/home/tomcat/bin> ./run.sh test-commune
  TOMCAT Instance test-commune
...
Tomcat started.

Logs

Il faut vérifier dans les logs tomcat que le war est bien déployé:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/test-commune/logs
tail -f adagio-admin.log

Environnement de préproduction (Allegro ou Commune)

Génération du war

Le script prepare-war.sh permet de générer les wars à déployer.
Ce script et les configurations associées sont archivés sur le gitlab: https://gitlab.ifremer.fr/sih/adagio-admin/tree/develop/build.
Il faut préalablement copier le war généré via wavemaker sous /home/isi-projets/sih/gestion/tools/adagio-admin/_build/dist puis exécuter les commandes suivantes sur la machine visi-sih-batch2:

Exemple pour la préprod commune:

ssh isi_exp@visi-sih-batch2
cd /home/isi-projets/sih/gestion/tools/adagio-admin/_build
./prepare-war.sh preprod-commune

Exemple pour la préprod allegro:

ssh isi_exp@visi-sih-batch2
cd /home/isi-projets/sih/gestion/tools/adagio-admin/_build
./prepare-war.sh preprod-allegro

Le fichier généré est dans le répertoire /home/isi-projets/sih/gestion/tools/adagio-admin/_build/deploy/[test preprod-commune preprod-allegro production]

Déploiement du war

Il faut simplement copier le fichier war généré dans le dossier de l’instance Tomcat concerné.

L'instance tomcat de préprod commune est sur la machine visi-sih-tomcat1 sous /export/home/tomcat/instances/preprod-commune.
Pour la préprod commune, les commandes à lancer sont donc:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/preprod-commune/webapps
cp /home/isi-projets/sih/gestion/tools/adagio-admin/_build/deploy/preprod-commune/adagio-admin-preprod-commune.war   .

L'instance tomcat de préprod allegro est sur la machine visi-sih-tomcat1 sous /export/home/tomcat/instances/preprod-allegro.
Pour la préprod allegro, les commandes à lancer sont donc:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/preprod-allegro/webapps
cp /home/isi-projets/sih/gestion/tools/adagio-admin/_build/deploy/preprod-allegro/adagio-admin-preprod-allegro.war  .

Arrêt et relance de l'instance tomcat

Pour la préprod commune:

ssh isi_exp@visi-sih-tomcat1
visi-sih-tomcat1:~% cd /export/home/tomcat/bin

# arrêt du service
visi-sih-tomcat1:/export/home/tomcat/bin% ./stop.sh preprod-commune
  TOMCAT Instance preprod-commune
...
Tomcat stopped.

# nettoyage du service
visi-sih-tomcat1:/export/home/tomcat/bin% ./cleanInstance.sh preprod-commune
instance preprod-commune is stopped
- Clean logs dir : /export/home/tomcat/instances/preprod-commune/logs/*
- Clean work dir : /export/home/tomcat/instances/preprod-commune/work/*
- Clean temp dir : /export/home/tomcat/instances/preprod-commune/temp/*

# relance du service
visi-sih-tomcat1:/export/home/tomcat/bin% ./run.sh preprod-commune
  TOMCAT Instance preprod-commune
...
Tomcat started.

Pour la préprod allegro:

ssh isi_exp@visi-sih-tomcat1
visi-common-tomcat1:~> cd /export/home/tomcat/bin
# arrêt du service
visi-common-tomcat1:/export/home/tomcat/bin> ./stop.sh preprod-allegro
   TOMCAT Instance preprod-allegro
...
Tomcat stopped.

# nettoyage du service
visi-common-tomcat1:/export/home/tomcat/bin> ./cleanInstance.sh preprod-allegro
instance preprod-allegro is stopped
- Clean logs dir : /export/home/tomcat/instances/preprod-allegro/logs/*
- Clean work dir : /export/home/tomcat/instances/preprod-allegro/work/*
- Clean temp dir : /export/home/tomcat/instances/preprod-allegro/temp/*

# relance du service
visi-common-tomcat1:/export/home/tomcat/bin> ./run.sh preprod-allegro
  TOMCAT Instance preprod-allegro
...
Tomcat started.

Logs

Il faut vérifier dans les logs tomcat que le war est bien déployé Pour la préprod commune:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/preprod-commune/logs
tail -f adagio-admin.log

Pour la préprod allegro:

ssh isi_exp@visi-sih-tomcat1
cd /export/home/tomcat/instances/preprod-allegro/logs
tail -f adagio-admin.log

Accès aux interfaces via un navigateur

Une fois l'application déployée sous tomcat, vous pouvez accéder à l'application via :

sous /export/home/tomcat/instances, le fichier _README_Ports ou README_Ports contient les infos pour pointer sur les urls directes, à savoir:

Livraison

La livraison devra contenir uniquement des demandes d'évolution ou de corrections d'anomalies tracées dans le mantis Ifremer. Les fiches mantis devront impérativement avoir été validées par Ifremer avant d'être incluse dans une livraison.

Les livrables suivants sont à déposer sous \\tera5\isi-projets\sih\gestion\tools\adagio-admin\<version>  (unix : /home/isi-projets/sih/gestion/tools/adagio-admin/<version>)

  • <version>\doc : Un document word traçant les éléments de la livraison
    • Les fiches mantis associées à la version
    • Les binaires et/ou scripts spécifiques
    • Le numéro de version de la base de données
  • <version>\bin : le ou les binaires (war)
  • <version>\scripts : les éventuels scripts spécifiques

Un mail de livraison doit être adressé à :

  • Pour :
    • Erwan BODERE (Erwan.Bodere@ifremer.fr)
  • Copie :
    • Valérie HARSCOAT (Valerie.Harscoat@ifremer.fr)
    • Celine Vignot (cvignot@ifremer.fr)
    • Armelle Rouyer (armelle.rouyer@ifremer.fr )
    • admsih@ifremer.fr

Environnement de production

Accès au site de production

L'instance tomcat de production est sur la machine vtomcat1 sous /export/home/tomcat/instances/sih/webapps_intra/adagio-admin.
Vous pouvez accéder à l'application via : https://w3.ifremer.fr/adagio-admin

Mise en production

Les mises en production se font uniquement le mardi matin et le jeudi matin.

Il faut :

  • Ouvrir une fiche mantis dans le projet "Mise en production"
  • Envoyer un mail à l'assistance (assistance@ifremer.fr, webric@ifremer.fr) mettre en copie : ebodere@ifremer.fr, admsih@ifremer.fr, cvignot@ifremer.fr, armelle.rouyer@ifremer.fr
    • Sujet du message : Mise en production - adagio admin <version> - <date>
    • Corps du message :
Bonjour assistance,
Voici une demande de mise en production à réaliser pour le <DATE> : https://forge.ifremer.fr/mantis/view.php?id=<N° FICHE MANTIS>
D'avance merci
Cordialement