Salta el contingut
 

Gestió de projectes a GitHub

Autor: Joan Puigcerver Ibáñez

Correu electrònic: j.puigcerveribanez@edu.gva.es

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Gestió de projectes a GitHub

Els serveis d'allotjament de repositoris en línia, com GitHub o GitLab, ofereixen una sèrie d'eines i funcionalitats que permeten gestionar projectes de desenvolupament de programari col·laboratiu de manera fàcil i eficaç.

En aquests apunts ens centrarem en la part de gestió de projectes, com crear debats, comunicar incidències i organitzar tasques.

Debats

Els debats o Discussions és un espai de comunicació on els membres d'un projecte o els membres d'una comunitat poden intercanviar idees, opinions, realitzar suggeriments o debatre sobre temes concrets.

Debats en aquest repositori

Aquest lloc web està allotjat a GitHub i s'ha habilitat la funcionalitat de debats.

Podeu accedir mitjançant la secció Discussions del menú superior o en aquest enllaç.

Exemple de debat en un repositori de GitHub

Figura 1. Debats en en repositori d'aquest curs a GitHub

Aquesta funcionalitat no està habilitada per defecte. Per activar-la, cal anar al menú de configuració del repositori Settings i habilitar la funcionalitat de debats.

Configuració de les Discussions en un repositori de GitHub

Figura 2. Configuració de les Discussions en un repositori de GitHub

Els debats estan organitzats per categories, que poden ser editades. Les categories per defecte són les següents:

  • Announcements: per a anuncis oficials. Sols els propietaris del repositori poden crear debats en aquesta categoria.
  • General: per a debats generals.
  • Idees: per a suggeriments i propostes.
  • Polls: per realitzar enquestes.
  • Qüestions (Q&A): per a preguntes i respostes.
  • Show and Tell: per a compartir projectes i treballs relacionats amb el repositori.

Incidències

Les Incidències o Issues són una eina de creació i seguiment d'incidències relacionades amb un projecte.

En aquest espai, també es permet la comunicació i la col·laboració entre els membres del projecte per a aportar informació sobre la incidència, debatre sobre la seva resolució.

Incidències a Material for MkDocs

Material for MkDocs és tema per al generador de llocs web estàtics MkDocs utilitzat per a generar aquest lloc web.

El codi font d'aquest tema està allotjat en seu repositori a GitHub on la comunitat pot comunicar les incidències que troba.

Podeu accedir a les incidències d'aquesta ferramenta mitjançant la secció Issues del menú superior.

Exemple d'incidències en un repositori de GitHub

Figura 3. Exemple d'incidències en el repositori mkdocs-material a GitHub

Les incidències contenen la següent informació:

  • Títol: descripció breu de la incidència.
  • Descripció: Informació detallada de la incidència.

    En aquesta secció és important proporcionar tota la informació necessària per a entendre la incidència i poder resoldre-la.

    A més, els propietaris del repositori poden configurar plantilles per a la creació d'incidències, que faciliten la recopilació de la informació necessària.

  • Etiquetes: permeten categoritzar les incidències per a facilitar-ne la gestió.

  • Assignació: assignació de la incidència a un o més membres del projecte.
  • Referències: en una incidència es poden referenciar altres incidències, o es pot veure si aquesta incidència ha segut referenciada en altres llocs.
  • Pull Requests: si la incidència està relacionada amb un Forks i Pull Requests.

Una vegada finalitzada la resolució de la incidència, aquesta pot ser tancada per l'usuari que l'ha oberta o per un membre del projecte.

GitHub Projects

Els projectes de GitHub és una eina de gestió de tasques que permet organitzar, classificar i prioritzar les tasques d'un projecte.

Projectes en aquest repositori

Podeu accedir al projectes d'aquest repositori mitjançant la secció "Projects" del menú superior o en aquest enllaç.

Exemple de projecte en un repositori de GitHub

Figura 4. Exemple de projecte en un repositori de GitHub

Els projectes estan organitzats en diferents pestanyes, que inclouen diferents vistes i organització de les tasques:

  • Backlog: un tauler Kanban amb les tasques pendents organitzades per columnes.
  • Current iteration: tasques que s'han planificat per a la iteració o Sprint actual.
  • Roadmap: un diagrama de Gantt amb les tasques planificades al llarg del temps.
  • Team planning: Mostra una vista més detallada de cada tasca, organitzades per estat, prioritat i assignació.
  • My items: Semblant a la vista de "Team planning", però mostra només les tasques assignades a l'usuari.

Cada tasca es crea com un Esborrany (Draft), que pot ser convertida a una Incidència en el repositori.

Cada tasca conté la mateixa informació que una incidència, però a més, es pot especificar:

  • La persona assignada.
  • La prioritat.
  • La mida.
  • L'estimació de temps.
  • La data d'inici
  • La data de finalització.
  • La iteració a la que pertany.

Exemple de tasca

Figura 5. Exemple de tasca en un projecte de GitHub

Llançaments

Els llançaments o Releases és una funcionalitat que permet indicar quan una versió del projecte ha segut llançada, incloent informació rellevant sobre els canvis realitzats i les persones que han contribuït.

Els llançaments sempre estan associats a una etiqueta del repositori.

Llançaments a Material for MkDocs

Material for MkDocs també utilitza la funcionalitat de llançaments per a indicar quan una nova versió del tema ha sigut llançada.

Podeu accedir als llançaments d'aquest repositori mitjançant la secció Releases de la barrar lateral.

Exemple de llançament en un repositori de GitHub

Figura 6. Exemple de llançament en el repositori mkdocs-material a GitHub

Des de la secció de llançaments es pot crear un nou llançament, on cal incloure la següent informació:

  • Títol: descripció breu del llançament o número de versió.
  • Descripció: informació detallada dels canvis realitzats.
  • Etiqueta: etiqueta associada al llançament.
  • Arxius binaris: arxius binaris associats al llançament.

A més, existeix l'opció de generar les notes de llançament, que inclouran informació sobre les Pull requests i les persones que han contribuït de manera automàtica.

Creació d'un llançament

Figura 7. Creació d'un llançament en un repositori de GitHub

Comentaris