0% ont trouvé ce document utile (0 vote)
4 vues52 pages

Git Lab

Le document présente l'intérêt et les applications de Git, en mettant l'accent sur GitLab comme serveur Git pour le suivi de version et la collaboration sur des projets. Il décrit les fonctionnalités de Git, les différences avec d'autres outils comme Owncloud, ainsi que des détails sur l'installation et l'administration de GitLab. Une démonstration est également prévue pour illustrer l'utilisation de Git avec LATEX dans un contexte collaboratif.

Transféré par

Folashadé Balogoun
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues52 pages

Git Lab

Le document présente l'intérêt et les applications de Git, en mettant l'accent sur GitLab comme serveur Git pour le suivi de version et la collaboration sur des projets. Il décrit les fonctionnalités de Git, les différences avec d'autres outils comme Owncloud, ainsi que des détails sur l'installation et l'administration de GitLab. Une démonstration est également prévue pour illustrer l'utilisation de Git avec LATEX dans un contexte collaboratif.

Transféré par

Folashadé Balogoun
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Suivre et partager ses sources avec GitLab:


un exemple avec LATEX

Matthieu Boileau, Alexis Palaticky

CNRS - Université de Strasbourg

16 mars 2016

&

1 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Outline

1 Intérêt et applications de git

2 GitLab comme serveur git

3 Démonstration

4 Conclusion

2 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Pourquoi utiliser un suivi de version ?

• Enregistrer les modifications d’un jeu de fichiers au cours du temps


• Rester réversible :
− pouvoir retourner à une version antérieure,
− comparer avec une version antérieure
• Documenter les modifications (date, auteur et message
d’accompagnement)
• Un logiciel de suivi de version (VCS pour Version Control System en
anglais) comme Git gère très bien tout projet qui se présente sous la forme
de fichiers sources
• C’est le meilleur moyen de collaborer sur des sources !

3 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Pourquoi utiliser un suivi de version ?

Ce que Git gère très bien : Ce que Git gère mal :


3 les scripts ou code de calcul 7 les gros fichiers binaires
3 les documents LATEX 7 les documents Microsoft Office ou
3 les fichiers texte de OpenOffice
configuration 7 le texte formaté en général
3 les sources html 7 les bases de données (type mysql)
3 etc. 7 etc.

4 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Comparaison avec Owncloud

Owncloud Git
Type de fichiers
3 tous types 3 suivi pour les fichiers sources

7 pas de suivi pour les binaires

7 pas adapté aux gros fichiers


(sauf avec git-lfs)
Suivi de version
7 très limité 3 outil avancé
Partage
7 modèle centralisé 3 modèle distribué
uniquement

7 synchronisations au- 3 on contrôle les synchronisations


tomatiques uniquement
Prise en main
3 très simple 7 demande un apprentissage

5 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Un suivi de version distribué

• les clients possèdent un miroir complet de la base de données du serveur


• on peut travailler en mode déconnecté et synchroniser quand on le souhaite
• indirectement, on crée des sauvegardes multiples

(Source: Pro Git book [Link]

6 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Git en pratique

Git en ligne de commande dans le


Terminal :

git add
git commit −m "My commit m e s s a g e "
git status
git log
git push
git pull
git checkout
git diff
etc .

7 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Git en pratique
Avec une interface graphique très simple comme GitHub Desktop, on couvre
≈ 90% de l’utilisation courante de git :

8 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Les quatre statuts des fichiers suivis

• Le cycle de vie d’un fichier suivi avec Git

(Source: Pro Git book [Link]

• Les fichiers qui ne sont pas des sources (fichiers objets, fichiers de
compilations, exécutables, etc.) peuvent être ignorés.

9 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Git et le système des branches

• Git permet de créer et fusionner très facilement des branches


• un système de branches permet de préserver une version stable (branche
master) sans limiter les développements (branche develop)
• les branches sont particulièrement utiles pour le travail collaboratif et par
sujet (topic).

(Source: Pro Git book [Link]

10 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Travail collaboratif avec Git : le workflow typique d’une petite équipe

En pratique :
• Côté serveur : GitLab
• Côté clients (John et Jessica) :
ligne de commande ou client
graphique (GitHub Desktop,
par exemple)

(Source: Pro Git book [Link]

11 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Installation et administration

12 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Quelques précisions sur GitLab :


• GitLab ? Outil opensource de gestion de projets git (licence MIT)
• Pourquoi GitLab à l’IRMA ?
– Besoin de travail collaboratif sur du code ou des publications
– Pour avoir la maîtrise sur le paramétrage et la création des comptes
– Gérer des fonctionnalités avancées comme l’intégration continue

Les différentes versions


- GitLab Community Edition (CE) : version libre

- GitLab Enterprise Edition (EE) : version payante

- GitLab Continus Integration (CI) : intégrée dans CE et EE depuis


GitLab 8.0

- [Link]

13 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

GitLab à l’IRMA
- [Link]

- Serveur sauvegardé en interne (VDP et Netbackup)

- Mise à jour de GitLab et mises à jour systèmes régulières

- Serveur accessible de l’extérieur, possibilité de comptes externes

14 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Installation de GitLab : les recommandations de [Link]

Les OS supportés
- Ubuntu

- Debian

- CentOS

- Red Hat Enterprise Linux (use the CentOS packages and instructions)

- Scientific Linux (use the CentOS packages and instructions)

- Oracle Linux (use the CentOS packages and instructions)

15 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Installation de GitLab : les recommandations de [Link]

Les OS non supportés


- OS X

- Fedora

- Gentoo

- FreeBSD

- Windows

16 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Installation de GitLab : les recommandations de [Link]

La configuration hardware
- 1 core works supports up to 100 users but the application can be a bit
slower

- 2 cores is the recommended number of cores and supports up to 500 users

- 2GB RAM is the recommended memory size and supports up to 100 users

- 4GB RAM supports up to 1,000 users

17 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Installation de GitLab à l’IRMA


- Gitlab-ce version 8.4.4

- Machine virtuelle dédiée (Ubuntu Serveur Ubuntu 14.04.4 LTS)

- 2 processeurs

- 8 Go de ram

- 60 Go de HD

18 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Prérequis
- curl
- openssh-server
- ca-certificates
- postfix

Installation
apt−g e t install c u r l o p e n s s h −s e r v e r ca− c e r t i f i c a t e s postfix

curl h t t p s : / / p a c k a g e s . g i t l a b . com/ i n s t a l l / r e p o s i t o r i e s / g i t l a b /
g i t l a b −c e / s c r i p t . deb . s h | s u d o b a s h s u d o apt−g e t i n s t a l l
g i t l a b −c e

gitlab-ce contient toutes les dépendances nécessaires : Nginx, Ruby, Postgres...

19 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Configuration
• Un fichier central : /etc/gitlab/[Link].
C’est dans ce fichier que l’on définit les principaux paramètres :

- url du serveur
- certificats électroniques
- jonction avec un annuaire LDAP...

• Après chaque modification de [Link], il faut valider par la commande


gitlab-ctl reconfigure

20 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Exemple de l’installation du certificat Digicert :


- Copie des fichiers du certificat dans : /etc/gitlab/ssl
- Modification du fichier /etc/gitlab/[Link]
external_url ’[Link]
nginx[’redirect_http_to_https’] = true
nginx[’ssl_certificate’] = "/etc/gitlab/ssl/fichier_certificat.pem"
nginx[’ssl_certificate_key’] = "/etc/gitlab/ssl/fichier_certificat.key"

- Validation de la nouvelle configuration pour prise en compte des


modifications : gitlab-ctl reconfigure

21 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Sauvegarde de la base
- Une commande à placer dans une crontab :
gitlab-rake gitlab:backup:create

- Résultat :

Dépôt d’un fichier xxxxxx_gitlab_backup.tar dans


/var/opt/gitlab/backups

22 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Restitution de la base
- Stopper les proccess de connexion à la base :
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

- Restitution :
gitlab-rake gitlab:backup:restore BACKUP=xxxxxx

- Démarrage de GitLab :
gitlab-ctl start

- Vérification de GitLab :
gitlab-rake gitlab:check SANITIZE=true

23 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Mises à jour de GitLab


- Elles sont fréquentes

- Utilisation de la commande apt-get install

- Déclenchement automatique d’une sauvegarde de la base avant la mise à


jour

- Parfois la mise à jour échoue :


Err [Link]
trusty/main gitlab-ce amd64 8.4.3-ce.0 Operation too slow.
Less than 10 bytes/sec transferred the last 120 seconds

24 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

L’interface d’administration de GitLab :

- Overview de l’Admin aera

25 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

L’interface d’administration de GitLab :

- La gestion des utilisateurs

27 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

L’interface d’administration de GitLab :

- Une nouveauté : l’affichage de messages pour les utilisateurs

29 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

L’interface d’administration de GitLab :

- Le menu settings :

Nombre de projets par défaut pour les utilisateurs...

Statut par défaut du projet (private, public)...

31 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

L’interface d’administration de GitLab :

- Tableau de bord :

Pour observer et mesurer l’activité du serveur gitlab

33 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Connaître les nouveautés de GitLab :

- S’abonner à la newsletter :

[Link]

35 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Gitlab comme serveur git

Exploitation par l’utilisateur

36 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Les fonctionnalités de GitLab :

- Création rapide de projets avec gestion des droits (Public, privé,...)

- Historique des commits

- Outils annexes : statistiques, wiki

- Notifications par mail

- Intégration continue

37 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Les fonctionnalités de GitLab :

- Création rapide de projets avec gestion des droits (Public, privé,...)

38 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Les fonctionnalités de GitLab :

- Historique des commits

42 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Les fonctionnalités de GitLab :

- Outils annexes : statistiques, wiki

44 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

GitLab comme serveur git

Les fonctionnalités de GitLab :

- Notifications par mail

47 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Démonstration

• Objectif : montrer l’intérêt d’utiliser Git pour collaborer sur un


document LATEX
• Programme de la démo :
– création et partage de projet dans GitLab
– importation d’un article en LATEX
– modifications, synchronisation (push, pull)
– notifications par mail
– édition collaborative (avec et sans conflits)
– compilation des différences (git latexdiff)

49 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Démonstration

Imaginons une collaboration fictive entre Johann Bernoulli et Leonhard Euler


sur l’appendice II d’un ouvrage réel : le Methodus Inveniendi.

Johann Bernoulli Leonhard Euler


(1667 - 1748) (1707 - 1783)
Le Methodus Inveniendi
d’Euler (1744)

C’est parti !

50 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Documentation et bonnes pratiques

Documentation

• Pro Git book (version française) :


[Link]
• la documentation officielle de Git :
[Link]
• un manuel concis : [Link]
ProGit book : une • la doc GitLab et son aide contextuelle :
référence (libre) [Link]

Quelques recommandations

• En LATEX, ne pas écrire plus d’une phrase par ligne


• Faire de nombreux commits (Git est fait pour ça) contenant des
modifications petites et cohérentes plutôt que l’inverse
• Utiliser les branches !

51 / 52
Intérêt et applications de git GitLab comme serveur git Démonstration Conclusion

Documentation et bonnes pratiques

Pour ceux qui sont intéressés :


un tutoriel vidéo de 15 min pour suivre
des sources LATEX avec GitLab.

Merci de votre attention !


info@[Link]

52 / 52

Vous aimerez peut-être aussi