Versionnement de code avec tortoise et sourcesup

De Wiki ODR
Aller à : navigation, rechercher

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.

Navigation dans les différentes parties du projet

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. Télécharger le .exe 32 bits ou 64 bits suivant votre version de Windows et choisir les paramètres par défaut lors de l'installation

3. Puis télécharger TortoiseGIT (https://tortoisegit.org/download/, prendre la dernière version soit la 2.7.0)

4. Lors de l'installation de TortoiseGIT, choisir les paramètres par défaut. A une étape il vous sera demandé un nom et une adresse mail, vous pouvez choisir de ne pas stocker ces informations lors de cette étape mais elles seront obligatoirement à renseigner par la suite lors d'un transfert de fichier. A la fenêtre suivante "Authentification and credential store", dans la partie SSH cliquer sur "Generate PuTTY key pair"

Tortoisegit ssh.png

5. Fenêtre suivante, cliquer sur Generate et bougez la souris dans la partie vide pour générer de l'aléatoire (comme indiqué en anglais)

PuTTYKeyGenerator.png

6. 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 sauvegarder la clé publique et la clé privée sous le nom de votre choix (classiquement dans le dossier C:\Users\nom\.ssh. Si ce dossier n'existe pas vous pouvez en créer un "ssh"). Enfin, sélectionner et copier les lignes données sous "Public key for pasting into OpenSSH autorized_keys file" dans le presse papier

PuTTYKeyGenerator2.png

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 :

  • Se rendre sur https://sourcesup.renater.fr/
  • Cliquer sur « Mon compte » tout en haut à droite
  • Cliquer sur « Éditer les clefs » tout en bas de la page
  • Coller les lignes copiées au point 6
  • Cliquer sur "ajouter" (Le temps d'acceptation de la clé publique par SourceSup peut être instantané comme prendre quelques dizaines de minutes)

Si besoin, pour recréer une clé SSH, faire 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".