fonctionnalitesGitlab.tex 4.92 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
\begin{frame}
	\frametitle{Qu'est-ce qu'une forge?}
  \begin{block}{Forge}
		C'est un logiciel complémentaire à Git qui, en plus de gérer les versions, propose:
    \begin{itemize}
      \item L'hébergement de repos
      \item La gestion des bugs, de la documentation, des tâches à accomplir...
      \item La protection du repo (mot de passe et clés, droits de l'utilisateur...)
      \item Un réseau social permettant à une communauté d'interagir avec le repo
    \end{itemize}
	\end{block}
  L'UTC héberge une instance de la forge \textbf{Gitlab}. Il existe aussi Github, qui est une énorme forge centralisée.
\end{frame}

\begin{frame}
  \frametitle{Les issues: demander des améliorations}
  Pour chaque repo, Gitlab tient une liste d'issues. Une issue est un problème ou une demande sur le code. Tout le monde peut déposer des issues mais on peut changer ce comportement.
  \begin{block}{}
		\centering
		\enquote{A quoi ça sert de faire ça sur Gitlab? Je peux très bien tenir la liste des choses à faire sur mon 3310!}
	\end{block}
  Il y a plusieurs intérêts, par exemple:
  \begin{itemize}
		\item On peut commenter des fichiers et des diff sans les modifier
		\item Cela facilite la communication entre les différents développeurs et permet d'assurer un suivi
		\item On peut assigner (confier) une issue à un développeur.
  \end{itemize}
\end{frame}

\begin{frame}
	\frametitle{Les issues: la pratique}
	Pour créer une issue, rien de plus simple: on clique sur issues puis sur new.

	\begin{minipage}[t]{.5\linewidth}
		\begin{figure}[h]
			\centering
			\includegraphics[width=150px]{imgs/gitlab_sidebar.png}
		\end{figure}
	\end{minipage}%
	\begin{minipage}[t]{.5\linewidth}
		\begin{figure}[h]
			\centering
			\includegraphics[width=90px]{imgs/gitlab_new_issue.png} \\
			\includegraphics[width=150px]{imgs/gitlab_fill_issue.png}
		\end{figure}
	\end{minipage}
	Une méthodologie de travail possible est de lister toutes les tâches à réaliser sous la forme d'issues. On peut aussi s'en servir pour faire remonter les bugs trouvés par les utilisateurs.
\end{frame}

\begin{frame}
\frametitle{Actions sur des commits}
Les commits étant constitués de diffs, on peut commenter ces diffs:
\begin{minipage}[t]{.5\linewidth}
Cliquer sur un commit:
	\begin{figure}[h]
		\centering
		\includegraphics[width=100px]{imgs/gitlab_commits_history.png}
	\end{figure}
	Les diffs s'affichent. Cliquer sur un numéro de ligne et commenter.
\end{minipage}%
\begin{minipage}[t]{.5\linewidth}
	\begin{figure}[h]
		\centering
		\includegraphics[width=120px]{imgs/gitlab_comment_diff.png} \\ \includegraphics[width=200px]{imgs/gitlab_comment_done.png}
	\end{figure}
\end{minipage}

\end{frame}

\begin{frame}
\frametitle{Les merge request}
Les merge request permettent à des développeurs tiers (n'ayant pas d'accès en écriture au repo) de proposer leurs modifications. \\

74 75 76
Ils peuvent ainsi travailler sur une autre branche (voire une autre remote) puis demander aux propriétaires de merge leurs commits. \\

Certaines branches peuvent être \textbf{protégées}: seuls certains utilisateurs peuvent y écrire. \\
77 78 79 80 81 82 83 84 85 86
\end{frame}
\begin{frame}
\frametitle{Les merge request}
Pour faire une merge request, il suffit de sélectionner les deux branches dans l'interface graphique. Gitlab peut même prédir si le `git merge` fonctionnera automatiquement ou s'il y aura des conflits. \\

\begin{figure}[h]
	\centering
	\includegraphics[width=270px]{imgs/gitlab_branches.png} \\
	\includegraphics[width=200px]{imgs/gitlab_merge_request.png} \\
\end{figure}
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
\end{frame}

\begin{frame}
\frametitle{Gestion des droits}
 \framesubtitle{Visibilité}
 Quand on crée un repo, on choisit sa visibilité. Il y en a 3 sur gitlab: Private, Internal et Public.
 \includegraphics[width=220px]{imgs/gitlab_create_projet.png}
\end{frame}

\begin{frame}
\frametitle{Gestion des droits}
 \framesubtitle{Rôles}
 On peut ensuite ajouter des membres habilités à écrire dans le repo via l'onglet members. A l'UTC, on peut trouver des personnes par nom ou login CAS.\\
\includegraphics[width=220px]{imgs/gitlab_add_member.png} \\
 Chaque membre a un rôle parmi les suivants :
 \begin{itemize}
 	\item \textbf{Guest} : peut écrire des commentaires et des issues
	\item \textbf{Reporter} : peut lire le code et modérer les commentaires et issues
	\item \textbf{Developer} : peut créer des branches et y push du code.
	\item \textbf{Maintainer} : peut gérer les branches
	\item \textbf{Owner} : toutes les autres permissions
 \end{itemize}
\end{frame}

\begin{frame}
\frametitle{Gestion des droits}
 \framesubtitle{Groupes}
Les projets gitlab (c'est-à-dire les repos et les infos liées à ces repos) peuvent être rangées dans des groupes et des sous-groupes. Les groupes permettent de représenter des équipes de développeurs, de segmenter leurs droits, d'organiser les repo par thématique. \newline
115

116 117
Voici un extrait de l'arborescence de Picasoft: \\
\includegraphics[width=130px]{imgs/gitlab_groups_tree.png} \\
118
\end{frame}