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.
La solution présentée ici est une des solution permettant de versionner son code, il y en a d'autres.
Utilisation de SourceSup
Inscription et inclusion dans un projet déjà existant
L’inscription à SourceSup se fait via le LDAP Inra à l’adresse [1]. Une 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 (peut être utilisé 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"
Upload des scripts vers sourcesup
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"
Partage de scripts vers des personnes n'étant pas sur sourcesup
Il est possible de partager soit tout le code d'un dépôt de sourcer soit un seule script.
1. Pour partager tout un dépôt :
a. cliquer sur "Ma page" -> cliquer sur le projet -> Dépôt de sources -> Parcourir le dépôt Git b. la page qui s'affiche est la liste des "commit", c'est à dire uploads de code. A droite de chaque commit il est inscrit "commit | commitdiff | tree | snapshot". faire un clic droit sur "snapshot", cliquer sur "copier l'adresse du lien". Le lien dans le presse papier est celui à envoyer.
2. Pour partager un script :
a. cliquer sur "Ma page" -> cliquer sur le projet -> Dépôt de sources -> Parcourir le dépôt Git b. cliquer sur "tree" (en dessous de l'adresse type 'git://sourcesup.renater.fr / blabla/sblabla.git / summary ' c. faire un clic droit sur "raw" à droite du script à partager, , cliquer sur "copier l'adresse du lien". Le lien dans le presse papier est celui à envoyer.
Recherche dans les scripts
Il est possible de chercher une expression (p. ex. le nom d'une table) dans tous les scripts d'une zone de dépot. Lorsque vous êtes dans la zone de dépôt, cliquer sur la liste déroulante à côté de "search" pour sélectionner "commit", rentrer le mot clé à droite de search et appuyer sur "entrée".