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