Versionnement de code avec tortoise et sourcesup
Sommaire
GIT, Tortoise et sourcesup, qu’est-ce que c’est ?
GIT est un système de contrôle de version du code qui permet de partager des scripts ainsi que les modifications apportées dessus.
Tortoise est une interface sous windows permettant d'utiliser Git.
Sourcesup est une plateforme web d’hébergement de projets informatiques développée par Renater permettant de stocker le code source est la plateforme de l'Enseignement Supérieur et de la Recherche.
Utilisation de SourceSup
Inscription et inclusion dans un projet déjà existant
L’inscription à SourceSup se fait via le LDAP Inra à l’adresse [1]. Un fois le compte créé, afin d’avoir accès à un projet en particulier, l’un des administrateurs de ce projet devra permettre l’accès au nouvel utilisateur. L’administrateur peut procéder de la manière suivante :
Cliquer sur « Mon compte » de la page https://sourcesup.renater.fr/ -> Cliquer sur « Ma page personnelle » -> dans mes projet, cliquer sur « Administration » à côté du projet concerné -> Cliquer sur « utilisateurs et permissions » -> ajouter des utilisateurs à partir de la liste. A noter : les nouveaux utilisateurs ne sont pas avertis automatiquement de cette modification.
Création d'un nouveau projet
Cliquer sur « Ma page » de la page https://sourcesup.renater.fr/ --> cliquez sur l'onglet "Enregistrer un projet" -> remplir les informations, notamment au point 5 cliquez sur git -> cliquez sur soumettre.
L’accession aux différentes parties du projet pour un administrateur se fait via :
Cliquer sur « Mon compte » de la page https://sourcesup.renater.fr/ -> Cliquer sur « Ma page personnelle » -> cliquer sur le nom du projet -> Cliquer sur « Dépôt de sources » -> Cliquer sur « parcourir le dépôt Git » (seulement pour les statuts autorisés) -> Cliquer sur « tree »
Création d'un nouveau dépôt associé au projet (utilisé dans le cadre d'EFESE comme sous projet)
Cliquer sur « Mon compte » de la page https://sourcesup.renater.fr/ -> Cliquer sur « Ma page personnelle » -> cliquer sur le nom du projet -> Cliquer sur « Dépôt de sources » -> Cliquer sur l'onglet « Administration » en haut à droite » -> remplir les informations du nouveau dépôt sous « Create new Git repository for project efese »
Mise en place de GIT et de dossiers de partages
Installation de Git, tortoise et identification sur sourcesup
Les étapes sont les suivantes :
1. Se rendre sur la page suivante : https://github.com/git-for-windows/git/releases/tag/v2.11.1.windows.1
2. Choisir le .exe 32 bits ou 64 bits suivant votre version de windows
3. Puis choisir TortoiseGIT (https://tortoisegit.org/download/, prendre la dernière version soit la 2.4.02).
4. Lors de l'installation, choisir les paramètres par défaut.
5. Une fois arrivés à la fenêtre "Authentification and credential store", dans la partie SSH cliquer sur "Generate PuTTY key pair"
6. Fenêtre suivante, cliquez sur Generate et bougez la souris dans la partie vide pour générer de l'aléatoire (comme indiqué en anglais). Une fois la clé générée, définir un mot de passe ("passphrase") qui vous sera utile lors de la première connexion. Puis sauvegardez la clé publique et la clé privée (classiquement dans le dossier C:\Users\nom\.ssh. Si ce dossier n'existe pas vous pouvez en créer un "ssh"). Copiez les lignes sous "Public key for pasting into OpenSSH autorized_keys file".
7. La clé SSH créée via Tortoise sert d’identifiant pour le poste local utilisé. Elle doit donc être connue par sourcesup. Voici la procédure pour transmettre la clé SSH à sourcesup : sur https://sourcesup.renater.fr/ -> Cliquer sur « Mon compte » -> cliquer sur « Éditer les clefs » tout en bas de la page -> Collez les lignes copiées au point 6 -> cliquez sur "ajouter". Attention, il y a un temps d'acceptation de quelques dizaines de minutes de la clé publique par sourcesup
Si besoin, pour recréer une clé SSH, faites clic droit dans n'importe quel dossier de l'explorateur windows -> TortoiseGit -> Settings -> "Re-run First Start Wizard"
Création d'un dossier versionné
à partir d'un dépôt existant sur sourcesup
Cliquer sur « Mon compte » SUR https://sourcesup.renater.fr/ -> Cliquer sur « Ma page personnelle » -> cliquer sur le nom du projet -> cliquer sur « Dépôt de sources » -> copier l’URL de la partie du projet à incorporer dans Rstudio (à partir de « git+ssh »).
puis là où on souhaite importer les requêtes dans l'explorateur windows : Faire un clic droit -> git clone --> coller l'URL commençant par git+ssh -> charger la clé privée à côté de "Load Putty Key" -> rentrer le mot de passe "passphrase" définie à l'étape 6.
à partir d'un dépôt non existant sur sourcesup
Pour créer un nouveau dépôt associé à un projet existant sur sourcesup (p.ex. ici projet efese_script) :
Cliquer sur « Mon compte » de la page https://sourcesup.renater.fr/ -> Cliquer sur « Ma page personnelle » -> cliquer sur le nom du projet -> Cliquer sur « Dépôt de sources » -> Cliquer sur l'onglet « Administration » en haut à droite » -> remplir les informations du nouveau dépôt sous « Create new Git repository for project efese_script »
répétez les étapes de la partie "à partir d'un dépôt existant sur sourcesup"
Partage des scripts
Les étapes pour utiliser le dossier partagé créé sont :
1. Avant de toucher au contenu du dossier partagé , faire clic droit sur votre dossier partagé et Tortoise Git > Pull > OK > Close. Cette étape permet de récupérer le code modifié par les autres utilisateurs
2. Il est maintenant possible de modifier un script dans le dossier partagé. Enregistrer un script à partager sur le dossier.
3. Il faut maintenant partager ces modifications faites sur votre ordinateur, c’est-à-dire les mettre sur le serveur. Pour cela :
a. faire clic droit surle dossier partagé et cliquer sur « Git commit > develop » b. une fenêtre s’ouvre, inscrire un message d’explication de la modification c. cocher le ou les scripts à partager, et décrire succinctement les modifications apportées d. cliquer sur "commit" e. cliquer sur "push" (ou directement "Commit & Push") f. OK (Tortoise demandera peut-être le mot de passe fournit lors de la construction de la clé)
4. Les modifications sont visibles par tout le monde.
5. Si vous n'êtes pas sûr que le "push" (ie l'import de la modification du code vers le serveur) a marché, faites clic droit sur le dossier contenant les scripts > "Git sync" > s'il y a des messages, cliquez sur "Push"