configuration
la configuration se fait dans
/group_vars/<nom de la plateforme>
selon la forme :
applications:
ASPRO2:
releases:
prod:
version: 'ASPRO2_V0_9_9_1'
deps:
'ASPRO2-conf': 'ASPRO2-CONF_2016_0905'
alpha:
version: ''
deps:
'ASPRO2-conf': ''
dirs:
- 'Aspro2'
- 'AsproConfig'
appel
le script d'appel doit avoir la forme suivante au minimum :
#!/bin/bash
source functions <nom de la plateforme>
initialize
run jmmc-compile.yml [-e "release=prod"] -e "app=ASPRO2" [-e "clean_dest=t"] [-e "remove_m2=t]
- release :
une des releases définies dans la configuration
- app :
le nom de l'application
- clean_dest :
supprime le contenu du répertoire ~/public_html
- remove_m2 :
supprime completement le répertoire .m2
résultats
l'application est compilée et installée dans
~/public_html/prod/<application>
les logs de compilation sont disponibles dans
~/public_html/prod/<application>/log
ancienne doc...
la compilation des logiciels java (pour l'instant seul
OIFitsExplorer a été testé) se déroule de la maniere suivante :
- configuration du front-end afin d'accéder au serveur web des apps [jmmc-frontend.yml]
- (mettre en place une vm) [ role jmmc-vm ]
- configurer le haproxy [ role fe-haproxy-srv ]
- installer les packages haproxy
- pour chaque service défini, générer un morceau de fichier de config
- assembler tous les morceaux et relancer le service haproxy avec la nouvelle config
- compilation de l'app [ jmmc-compile.yml - role jmmc-compile-app]
- installer des dépendances
- installer la configuration de maven (avec le certificat pour signer)
- compiler les applis (pour l'instant, seules les apps basées sur java avec maven, une seule app/release a la fois pour l'instant)
- installation du parent-pom
- installation de jmcs
- installation de testgui
- compilation de l'app dans la bonne release
- correction des url dans les jnlp
- mise en oeuvre du serveur d'apps java [ jmmc-apps=test.yml ]
- installation des dépendances pour docker et de docker [ role jmmc-docker ]
- copie des fichiers de l'app depuis la machine sur laquelle on a compilé l'app
- lancement du docker nginx:alpine avec les bons parametres
normalement, apres cette étape l'application est disponible au lancement par le jnlp
l'application est disponible a l'url http(s)://<serveur frontend>/apps/<release>/<app>/<app>.jnlp
par ex.
http://jmmc-fe-1.jmmc.fr/apps/prod/OIFitsExplorer/OIFitsExplorer.jnlp
--
RaphaelJacquot - 20 Oct 2016