Préambule
Cette documentation est complémentaire à la documentation d'installation qui est à destination de l'exploitant.
Elle permet d'installer, configurer, versionner et mettre à jour le package ESUP au travers de GIT.
Deux tutoriels très détaillés et en Français (www.siteduzero.com et git-scm.com) sont utilisés dans la présente page. Des liens plus précis sont cependant listés.
Voici le lien du projet : https://github.com/EsupPortail/esup-uportal
À partir du lien ci-dessus, vous trouverez toutes les informations pour personnaliser les commandes des tutoriels ci-dessous.
Bonnes pratiques
1 - Installer GIT ?
Objectif
Installer les outils nécessaires à Git.
Commande
sudo yum install git gitk gitg
sudo apt-get install git-core gitk gitg
http://windows.github.com/ (Windows)
Résultat attendu
Application cliente installée.
Documentation
www.siteduzero.com - git-scm.com
2 - Régler le proxy (si nécessaire) ?
Objectif
Permettre la communication avec GitHub.com.
Commande
Exécuter Git Shell (Windows)
git config --global http.proxy http://<LOGIN>:<PASSWORD>@<PROXYADDRESS>:<PORT>
Résultat attendu
Pas de blocage de communication de la part du proxy.
Documentation
https://gist.github.com/336211
3 - Cloner ?
Cloner : télécharger sur son poste
Objectif
Préparer le déploiement de la nouvelle version dans son établissement en récupérant l'avant dernier tag.
Commande
git clone https://github.com/EsupPortail/esup-uportal.git
Résultat attendu
Cloning into 'esup-uportal'... remote: Counting objects: 157549, done. remote: Compressing objects: 100% (42597/42597), done. remote: Total 157549 (delta 90619), reused 155749 (delta 89147) Receiving objects: 100% (157549/157549), 129.96 MiB | 1.11 MiB/s, done. Resolving deltas: 100% (90619/90619), done. Checking out files: 100% (3263/3263), done
Pour connaitre la liste des tags disponibles :
git tag
... trunk-pre-pluto_1.1 umobile-1.0.0 umobile-1.0.0-RC1 umobile-parent-1.0.0-RC1-SNAPSHOT umobile-server-1.1-RC1 uportal-3.2.5 uportal-4.0.0 uportal-4.0.0-RC1 uportal-4.0.0-RC2 uportal-4.0.1 uportal-4.0.2 uportal-4.0.3 uportal-4.0.4 uportal-4.0.5 uportal-4.0.6 uportal-4.0.6.SR1 uportal-4.0.7 uportal-4.0.8 uportal-4.0.8-esup-0-avant-presta-1
Copiez le nom de la version désirée (afin de ne pas récupérer la version en cours de développement).
Pour récupérer la version choisie :
git checkout <nom_version>
Note: checking out 'uportal-4.0.8-esup-0-avant-presta-1'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 7b39fed... README -> README-JASIG ; README.esup -> README
Documentation
www.siteduzero.com - git-scm.com
4 - Faire une branche ?
Objectif
Conserver les personnalisations inhérentes à son établissement.
Commande
Se placer dans le répertoire du projet (Master)
git checkout -b ent-monuniv
Résultat attendu
Switched to a new branch 'ent-monuniv'
Documentation
www.siteduzero.com - git-scm.com
5 - Passer d'une branche à une autre ?
Objectif
Changer de configuration.
Commandes
git checkout master ou git checkout ent-monuniv
Résultat attendu
Switched to branch 'master' Switched to branch 'ent-monuniv'
Documentation
www.siteduzero.com - git-scm.com
6 - Commiter des configurations dans sa branche ?
Objectif
Effectuer une modification, sauvegarder (en local, pas sur le serveur) les modifications de configurations effectuées.
Exemple avec une modification du fichier esup.properties :
Commandes
git add <Path>/filters/esup.properties git commit -m "Changement de connecteur" <Path>/filters/esup.properties
Résultat attendu
[ent-monuniv a82e27f] Changement de connecteur 1 file changed, 0 insertions(+), 0 deletions(-) rewrite <Path>/filters/esup.properties(78%)
Documentation
www.siteduzero.com - git-scm.com
7 - Mettre à jour la dernière version du portail ?
Objectif
Mettre à jour le master en vue de la mise à jour de la branche.
Commande
Se placer dans le répertoire du projet (Master)
git pull
Résultat attendu
Already up-to-date. ou Les fichiers mis à jour.
Cette commande permet d'avoir la version la plus à jour du projet.
Pour obtenir une version spécifique de l'application (dernière version stable) :
git tag
... trunk-pre-pluto_1.1 umobile-1.0.0 umobile-1.0.0-RC1 umobile-parent-1.0.0-RC1-SNAPSHOT umobile-server-1.1-RC1 uportal-3.2.5 uportal-4.0.0 uportal-4.0.0-RC1 uportal-4.0.0-RC2 uportal-4.0.1 uportal-4.0.2 uportal-4.0.3 uportal-4.0.4 uportal-4.0.5 uportal-4.0.6 uportal-4.0.6.SR1 uportal-4.0.7 uportal-4.0.8 uportal-4.0.8-esup-0-avant-presta-1
Repérer la dernière version stable et copier son nom.
Pour récupérer la version choisie :
git checkout <nom_version>
Note: checking out 'uportal-4.0.8-esup-0-avant-presta-1'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 7b39fed... README -> README-JASIG ; README.esup -> README
Documentation
8 - Faire un merge sur un tag EsupPortail (montée de version sans conflit) ?
Objectif
Conserver la configuration malgré la montée de version.
Commandes
Commiter les fichiers modifiés avant de faire le merge.
Se placer dans la branche que l'on souhaite mettre à jour
git checkout ent-monuniv
Pour obtenir une liste des tags de l'application :
git tag
Noter le tag de la version désirée :
git merge <tag>
Résultat attendu
Updating c6499c1..a82e27f Fast-forward README | Bin 3228 -> 3317 bytes 1 file changed, 0 insertions(+), 0 deletions(-)
Documentation
9 - Réaliser un merge en cas de conflit sur un fichier ?
Objectif
Gérer les erreurs de l'étape 8 ci-dessus.
Commandes
Résultat attendu
Documentation
10 - Ajouter le remote de jasig uportal ?
Objectif
Cloner https://github.com/Jasig/uPortal.
Commandes
Résultat attendu
Documentation
Cf. Étape 3 ci-dessus
11 - Comparer 2 branches ?
Objectif
Comparer les configurations de deux établissements.
Commandes
Résultat attendu
Documentation
12 - Consulter l'historique d'un fichier ?
Objectifs
Comparer les deux dernières configurations d'un établissement.
Voir ce qui a changé dans le dernier commit.
Commandes
Résultat attendu
Documentation
13 - Faire un tag de la version ?
Objectif
Marquer une configuration comme fonctionnelle.
Commandes
Résultat attendu
Documentation
www.siteduzero.com - git-scm.com
14 - Annuler un commit fait par erreur, revenir à une version antérieure de fichier ?
Objectif
En cas de problèmes, revenir à une version fonctionnelle.
Commandes
Résultat attendu
Documentation