Synchronisation des dépôts GitHub
Un shell script lutece.sh est disponible pour faciliter la synchronisation des dépôts GIT de GitHub vers le poste de travail. La commande de synchronisation est :
lutece.sh sync
Le script redescendra tous les nouveaux dépôts de lutece-platform et lutece-secteur-public et synchronisera les dépôts existants.
Pré-requis
Linux
Vous devez avoir les applications suivantes :
- cURL
- git
- le script lutece.sh
Windows
Vous devez avoir les applications suivantes :
- git bash
- le script lutece.sh
Installation
Debian/Ubuntu
Vous pouvez installer les logiciels nécessaires avec la commande suivante en root :
root# apt-get install curl git
Centos/Fedora/Red Hat
Vous pouvez installer les logiciels nécessaires avec la commande suivante en root :
root# yum install curl git
ou avec dnf :
root# dnf install curl git
Windows
Le logiciel "Git for Windows" apporte une interface graphique pour GIT ainsi que Git Bash. Vous pouvez télécharger la dernière version sur celui-ci : https://git-for-windows.github.io/
Il est important de cocher la case permettant de lancer les scripts .sh avec git bash.
Obtenir lutece.sh
Vous devez télécharger lutece.sh sur github à l'adresse suivante : https://raw.githubusercontent.com/lutece-platform/tools-git-scripts/master/lutece.sh
Linux
Vous pouvez taper ces commandes afin d'utiliser le script :
$ wget "https://raw.githubusercontent.com/lutece-platform/tools-git-scripts/master/lutece.sh" -O "${HOME}/lutece.sh" $ chmod +x "${HOME}/lutece.sh"
Proxy ou serveur mandataire
Pour configurer un serveur mandataire sous linux ou sous windows (git bash), vous pouvez ajouter ces lignes au fichier .bashrc qui se trouve dans votre dossier $HOME :
export HTTP_PROXY="http://utilisateur:mot_de_passe@mon.proxy:3128/" export HTTPS=PROXY="$HTTP_PROXY" export http_proxy="$HTTP_PROXY" export https_proxy="$HTTP_PROXY"
Petite explication :
- http: - le protocole utiliser par votre serveur mandataire,
- utilisateur - l'identifiant pour s'authentifier sur le serveur mandataire (facultatif),
- mot_de_passe - le mot de passe lié à votre identifiant (facultatif),
- mon.proxy - l'adresse IP ou l'hôte du serveur mandataire,
- 3128 - le port sur lequel votre serveur mandataire attend les requêtes
Linux
Sous linux, il existe déjà le script .bashrc dans votre home (vi ~/.bashrc), ajoutez donc ces lignes à la fin du fichier.
Windows
Il peut être nécessaire de créer une variable d'environnement pour le HOME sous git bash, pour cela il faut :
- appuyez sur les touches "windows" + "pause" ,
- dans la fenêtre qui s'ouvre, sélectionnez "paramètres avancés",
- cliquez sur le bouton "variables d'environnements",,
- enfin ajoutez la variable HOME (en capitales) et en valeur vous pouvez mettre, par exemple, C:\Users\Utilisateur\ .
Pour que curl fonctionne correctement, il est en plus nécéssaire (si on utilise mintty, la console avec des couleurs et redimensionnable, contrairement à la console normale de windows) avec la version actuelle de git for windows (2017-06-07) de relancer un shell avec un support de console pour les programmes natifs windows :
$ winpty bash
Utiliser le script
Dans un terminal, vous pouvez synchroniser les dépôts github avec la commande : lutece.sh sync
Utilisation avancée
Le script lutece.sh peut prendre différents paramètres en fonction de ce qu'on veut faire. Il est possible de connaitre tous les paramètres en lançant le script sans paramètre : lutece.sh
Voici quelques exemples d'utilisations :
- en utilisant une clef SSH : lutece.sh sync -t ssh
- sans questionnement : lutece.sh sync -u "Jean Martin" -e jean.martin@exemple.com
- en spécifiant un chemin spécifique de synchronisation : lutece.sh sync chemin/vers_mon_dossier_lutece/git
- avec une clef SSH, sans questionnement dans un répertoire spécifique : lutece.sh sync -t ssh -e jean.martin@exemple.com -u "Jean Martin" lutece/git
- modifier mon email (pour les commit) : lutece.sh config -e martin.jean@exemple.com
Actuces
Linux
Vous pouvez créer un alias pour lancer plus rapidement votre commande. Supposons que votre commande est :
lutece.sh -t ssh sync lutece/git
Vous devez ajouter au fichier .bashrc, cette ligne :
alias lutece="${HOME}/lutece.sh sync -t ssh lutece/git"
Puis relancer le terminal ou taper la commande : source ~/.bashrc
Windows
Vous pouvez créer un raccourci sur le bureau qui vous lancera votre commande. Supposons que le script lutece.sh se trouve dans : C:\Users\Moi\lutece.sh".
- Créer un raccourci lutece.sh sur le bureau (clic droit sur le bureau : "nouveau" => "raccourci")
- nommer le comme vous voulez
- dans la "ligne de commande" écrivez : "C:\Users\Moi\lutece.sh" "C:\Users\Moi\Projects\lutece\git" Il vous reste plus qu'à faire des doubles clics pour mettre à jour vos dépôts.