GIT

Transcription

GIT
Workshop ESUP4
ESUP V4 : installation et mise à jour via GIT
Paris, 16 Mai 2013
V. Bonamy
Workshop ESUP4 - Paris 16 mai 2013
Copyright 2013© Consortium ESUP-Portail
Sommaire 1/3
Déroulement du workshop
Recommandations (ou parti pris)
Machine virtuelle
Debian
LDAP
CAS
PostgreSQL
Apache
Env. Bash pour ESUP
Workshop ESUP4 - Paris 16 mai 2013
2
Copyright 2013 ©
Sommaire 2/3
Installation/Configuration EsupPortail
Récupération du package par Git
Configuration LDAP+CAS
Commit GIT
Découverte IHM uPortal4
GIT : patch PostgreSQL
Ajout administrateur
Attributs ldap → attributs utilisateur uportal
Attributs utilisateur → groupes PAGS uPortal
Groupes PAGS → Fragments
Modif du look
Montée de version
Git bare interne
Workshop ESUP4 - Paris 16 mai 2013
3
Copyright 2013 ©
Sommaire 3/3
Portlets
/opt/portlets
Ant deployPortletApp
→ EsupTwitter
→ EsupFileManager
Récapitulatif
Workshop ESUP4 - Paris 16 mai 2013
4
Copyright 2013 ©
Sommaire 1/3
Déroulement du workshop
Recommandations (ou parti pris)
Machine virtuelle
Debian
LDAP
CAS
PostgreSQL
Apache
Env. Bash pour ESUP
Workshop ESUP4 - Paris 16 mai 2013
5
Copyright 2013 ©
Recommandations (ou parti pris)
Environnement
Debian - 32 Bits
Partie « Système OS »
• Par paquets (apt-get)
– outils :
» emacs
» git-core
» gitg
– services :
» Apache
» Ldap
» PostgreSQL
Workshop ESUP4 - Paris 16 mai 2013
6
Copyright 2013 ©
Recommandations (ou parti pris)
Partie Java
• JDK 1.6 32 - bits – install manuelle depuis distribution
officielle Oracle (et non par paquet)
• /usr/local pour java, maven, ant
• /opt pour sources Esup4, tomcat, env .sh …
IDE / Editeur / GUI / ...
Ligne de commandes (pour git notamment)
Edition simple (VI, gedit, emacs …)
Gitg pour visualisation GIT
Interfaces web EsupV4, Github, ...
Workshop ESUP4 - Paris 16 mai 2013
7
Copyright 2013 ©
Recommandations (ou parti pris)
On versionne en GIT
• Pour versioning interne des configurations
• Pour faciliter le travail sur N instances de dev, de
preprod, de prod ...
• Et pour faciliter les mises à jour ...
Configs, uPortal, ...
On tente d'être le plus efficace et pragmatique
possible :
• on diverge le moins possible.
• on utilise les IHMs d'administration d'uPortal quand
c'est possible (Portal Administration Tools), et quand
ils fonctionnent.
Workshop ESUP4 - Paris 16 mai 2013
8
Copyright 2013 ©
Sommaire 1/3
Déroulement du workshop
Recommandations (ou parti pris)
Machine virtuelle
Debian
LDAP
CAS
PostgreSQL
Apache
Env. Bash pour ESUP
Workshop ESUP4 - Paris 16 mai 2013
9
Copyright 2013 ©
Machine virtuelle
Workshop monté sur une machine virtuelle
Object de la machine, install ESUPV4, cad héberger les
services suivant :
• PostgreSQL
• Tomcat avec ESUP4 (et portlets)
• Apache en frontal du tomcat ESUP4
On y a installé également l'environnement SI « virtuelle »
suivant :
• LDAP
• CAS
• Cela en plus des utilitaires git, emacs, java, etc.
password → esup
Workshop ESUP4 - Paris 16 mai 2013
10
Copyright 2013 ©
Mise en place de la machine
virtuelle
Paquets
apt-get install emacs23-nox
apt-get install git-core gitg
apt-get install apache2
apt-get install postgresql
apt-get install slapd
Manuellement
Jdk 1.6 (oracle.com)
Apache-ant 1.8 (apache.org)
Apache-maven-3 (apache.org)
Workshop ESUP4 - Paris 16 mai 2013
11
Copyright 2013 ©
LDAP
Localhost 389
/home/esup/jxplorer/jxplorer.sh
Comptes :
cn=admin,dc=esup-portail,dc=org / esup
uid=demo,ou=people,dc=esup-portail,dc=org / esup
uid=esup,ou=people,dc=esup-portail,dc=org / esup
Workshop ESUP4 - Paris 16 mai 2013
12
Copyright 2013 ©
CAS
Installation via cas-toolbox de Esup
CF /opt/cas :
• Cas-toolbox-svn config.properties :
– ldap.univ.fr (modification de /etc/hosts)
– cas.univ.fr (modification de /etc/hosts)
• Tomcat-cas (ln -s)
– Install manuelle (DL de apache.org)
– Confs par défaut → contexts dans webapps (ROOT pour CAS)
– Conf port (server.xml) : 80xx → 90xx
– /etc/init.d/tomcat-cas
Apache en proxy (ajp)
• Cas.univ.fr
• Ssl avec certificat wildcard (auto-signé
Workshop ESUP4 - Paris 16 mai 2013
13
ici)
Copyright 2013 ©
PostgreSQL
Host all all 127.0.0.1/8 password
Psql
• Create database esup4 ;
• Create user esup4 with password 'esup' ;
• Grant all on database esup4 to esup4 ;
Workshop ESUP4 - Paris 16 mai 2013
14
Copyright 2013 ©
Sommaire 1/3
Déroulement du workshop
Recommandations (ou parti pris)
Machine virtuelle
Debian
LDAP
CAS
PostgreSQL
Apache
Env. Bash pour ESUP
Workshop ESUP4 - Paris 16 mai 2013
15
Copyright 2013 ©
Apache
ProxyPass AJP
Virualhost SSL ent.univ.fr
Balancer pour load-balancing/failover
→ ent1.univ.fr, ent2.univ.fr pour ProxyCas
→ sticky session avec cookie positionné par apache
simplement
Workshop ESUP4 - Paris 16 mai 2013
16
Copyright 2013 ©
Sommaire 1/3
Déroulement du workshop
Recommandations (ou parti pris)
Machine virtuelle
Debian
LDAP
CAS
PostgreSQL
Apache
Env. Bash pour ESUP
Workshop ESUP4 - Paris 16 mai 2013
17
Copyright 2013 ©
Env – scripts - …
/opt/esup-env
env.sh pour JAVA_HOME, JAVA_OPTS (mémoire,
var env, system property ...), M2_HOME, PATH,
etc.
scripts éventuels pour déploiement, init.d, ...
trustore java
…
/opt/esup-env sous git
Source env.sh dans .bashrc utilisateur esup
Workshop ESUP4 - Paris 16 mai 2013
18
Copyright 2013 ©
Sommaire 2/3
Installation/Configuration EsupPortail
Récupération du package par Git
Configuration LDAP+CAS
Commit GIT
Découverte IHM uPortal4
GIT : patch PostgreSQL
Ajout administrateur
Attributs ldap → attributs utilisateur uportal
Attributs utilisateur → groupes PAGS uPortal
Groupes PAGS → Fragments
Modif du look
Montée de version
Git bare interne
Workshop ESUP4 - Paris 16 mai 2013
19
Copyright 2013 ©
Récupération EsupPortail
→ GIT
git clone https://github.com/EsupPortail/esupuportal.git
cd esup-uportal/
git checkout -b esup4-univ uportal-4.0.11-esup-1
Workshop ESUP4 - Paris 16 mai 2013
20
Copyright 2013 ©
Configuration
Voir la doc / README
→ build.properties
→ filters/esup.properties
→ pom.xml
Workshop ESUP4 - Paris 16 mai 2013
21
Copyright 2013 ©
Déploiement
Avec initialisation de la base :
ant -Dmaven.test.skip=true clean initportal
Workshop ESUP4 - Paris 16 mai 2013
22
Copyright 2013 ©
Lancement
./startup.sh
Ou mieux : /etc/init.d/tomcat-esup restart
Workshop ESUP4 - Paris 16 mai 2013
23
Copyright 2013 ©
Gestion configurations
On comit dans git :
git commit -a -m « EsupPortail de base avec
cas+ldap »
Workshop ESUP4 - Paris 16 mai 2013
24
Copyright 2013 ©
GIT - Application patch
PostgreSQL : pb d'encodage
→ patch spécifique pour une installation sous
postgresql
CF Doc Esup :
http://www.esup-portail.org/pages/viewpage.action?p
→ on réinitialise la base après : ant initdb
Workshop ESUP4 - Paris 16 mai 2013
25
Copyright 2013 ©
Java System Properties
Utiliser les Java System Property en var env
d'exécution
→ But : Même code/projet pour les différents
environnements ('dev', 'preprod', 'prod' … n 'prod'
(load-balancing)
A minima on y indique les virtualhosts (pour CAS).
Pour le reste (postgresql, ldap, etc.) on peut aussi
'jouer' avec /etc/hosts
Workshop ESUP4 - Paris 16 mai 2013
26
Copyright 2013 ©
Ajout administrateur
ant -Dmaven.test.skip=true data-export
-Dtype=group-membership -Dsysid="Portal
Administrators" -Ddir=/tmp
emacs /tmp/Portal_Administrators.groupmembership.xml
ant -Dmaven.test.skip=true data-import
-Dfile=/tmp/Portal_Administrators.groupmembership.xml
Workshop ESUP4 - Paris 16 mai 2013
27
Copyright 2013 ©
Nettoyage …
Suppression des modules qui ne servent pas :
• Cas
• Pluto-testsuite
•…
http://www.esup-portail.org/pages/viewpage.action?pag
Workshop ESUP4 - Paris 16 mai 2013
28
Copyright 2013 ©
Attributs utilisateurs
personDirectoryContext.xml
On ajoute par exemple l'attribut departmentNumber
→ department
Workshop ESUP4 - Paris 16 mai 2013
29
Copyright 2013 ©
Groupes
Groupes « locaux statiques»
→ IHM sur le portail
Groupes PAGS
→ doc Jasig / uPortal :
https://wiki.jasig.org/pages/viewpage.action?pageId=5
(PAGSGroupStoreConfig.xml)
→ exemple groupe DSI depuis departmentNumber =
DSI
Workshop ESUP4 - Paris 16 mai 2013
30
Copyright 2013 ©
Logs …
Ex : Ajout de logs pour appartenance aux groupes
Workshop ESUP4 - Paris 16 mai 2013
31
Copyright 2013 ©
Les Fragments
But : Ajout d'un fragment DSI avec onglets
et portlets
https://wiki.jasig.org/display/UPM40/Layout+Manageme
IHM :
• Audit des fragments
• Portlet Import-Export
• Manage DLM Fragments
Rappel :
Fragment = layout d'un user « lo » qui s'applique à
toute une population par défaut.
Workshop ESUP4 - Paris 16 mai 2013
32
Copyright 2013 ©
Les Fragments
Etapes :
Ajout d'un user dsi-lo : on s'inspire d'admin-lo :
Ajout d'un fragment-definition (audience) : on
s'inspire d'Admin
Ajout d'un fragment-layout : on s'inspire d'admin-lo
→ 3 fichiers :
• dsi-lo.user.xml
• Dsi.fragment-definition.txt
• dsi-lo.fragment-layout.xml
Workshop ESUP4 - Paris 16 mai 2013
33
Copyright 2013 ©
Les Fragments
Cache
On vide le cache (IHM)
Déconnexion / Reconnexion …
Edition du fragment
IHM : Manage DLM Fragment
Groupe dsi-lo
Dsi-lo : membre du groupe layout owner !
Workshop ESUP4 - Paris 16 mai 2013
34
Copyright 2013 ©
Look
Logo
On change l'image, on n'oublie pas de commiter dans
git.
CSS
On s'ajoute une css univ-fr.css dans skin.xml
On redéploie
Ensuite pour tester: penser au « Toggle JS/CSS
Aggregation »
Workshop ESUP4 - Paris 16 mai 2013
35
Copyright 2013 ©
Montée de version
GIT !
Git tag, gitg, vue github → les différents tags
Git fetch : on met à jour les images de nos remotes
Git merge xxx : on merge avec le dernier tag de chez
esup :)
Workshop ESUP4 - Paris 16 mai 2013
36
Copyright 2013 ©
Git bare
Un Git référence en interne
Pour référence en interne : les instances internes se
connectent tous dessus pour du push/pull
→ git init --bare
Workshop ESUP4 - Paris 16 mai 2013
37
Copyright 2013 ©
Sommaire 3/3
Portlets
/opt/portlets
Ant deployPortletApp
→ EsupTwitter
→ EsupFileManager
Récapitulatif
Workshop ESUP4 - Paris 16 mai 2013
38
Copyright 2013 ©
Portlets
Répertoire /opt/portlets
Récupération des portlets avec git
… ou à défaut avec svn (avec .svn)
… voire en utilisant git submodule aussi ...
Installation portlets
Compilation / package
• Mvn clean package
Déploiement
• Ant deployPortletApp
Publication
• IHM
Workshop ESUP4 - Paris 16 mai 2013
39
Copyright 2013 ©
Portlets : esup-filemanager
git clone https://github.com/EsupPortail/esup-filemanager.git
cd esup-filemanager/
git checkout -b esup-filemanager-univ esup-filemanager-2.2.2
emacs -nw src/main/webapp/WEB-INF/context/drives.xml
git add .
git commit -m "bob -> /home/esup/"
mvn clean package
cd /opt/esup-uportal
ant deployPortletApp -DportletApp=/opt/portlets/esupfilemanager/target/esup-filemanager.war
Workshop ESUP4 - Paris 16 mai 2013
40
Copyright 2013 ©
Sommaire 3/3
Portlets
/opt/portlets
Ant deployPortletApp
→ EsupTwitter
→ EsupFileManager
Récapitulatif
Workshop ESUP4 - Paris 16 mai 2013
41
Copyright 2013 ©
Récapitulatif
GIT
Demande un peu de temps pour être apprivoisé par l'exploitant,
mais le jeu en vaut la chandelle ;)
Propriétés
Mettre au point, tester et déployer en production avec plusieurs
instances ESUP
• →le choix des propriétés et de leur évaluation est primordial.
Idée : avoir un seul et même « binaire » (webapps) OK pour tous les
environnements.
• → java system property
• → /etc/hosts
• → maven properties override
• ....
Workshop ESUP4 - Paris 16 mai 2013
42
Copyright 2013 ©

Documents pareils

Installation - parametrage package uportal-esup 2.5 - ESUP

Installation - parametrage package uportal-esup 2.5 - ESUP c'est l'emplacement source et de compilation de la distribution esup-portail. Par défaut : /home/esup/uPortal esup.deploy C'est le répertoire de déploiement d'exploitation de l'environnement esup-p...

Plus en détail