|
|
Ferramentes de gestió de projectes a GitHubJoan Puigcerver Ibáñez Ferramentes de gestió de projectes a GitHub¶Els serveis d'allotjament de repositoris en línia, com GitHub, GitLab o Codeberg, ofereixen una sèrie de ferramentes i funcionalitats que permeten gestionar de manera fàcil i eficaç projectes col·laboratius de desenvolupament de programari. Aquests apunts se centren en la part de gestió de projectes: crear debats, comunicar incidències i organitzar tasques. Debats¶Els debats (Discussions) són un espai de comunicació on les persones que formen part d'un projecte o d'una comunitat poden intercanviar idees i opinions, fer suggeriments o debatre sobre temes concrets. Aquesta funcionalitat no està habilitada per defecte. Per activar-la, cal anar al menú de configuració del repositori, Settings, i habilitar-la.
Figura 1. Configuració dels debats (Discussions) en un repositori de GitHub. Exemple: Debats en aquest repositoriAquest lloc web està allotjat a GitHub i té habilitada la funcionalitat de debats. S'hi pot accedir mitjançant la secció Discussions del menú superior o en aquest enllaç.
Figura 2. Debats en el repositori d'aquest curs a GitHub. Exemple: Debats a Material for MkDocsMaterial for MkDocs és el tema per al generador de llocs web estàtics MkDocs que s'utilitza per a generar aquest lloc web. El codi font d'aquest tema està allotjat en el seu repositori a GitHub, on s'han habilitat els debats perquè la comunitat puga intercanviar idees i suggeriments o plantejar dubtes.
Figura 3. Debats en el repositori Els debats s'organitzen en categories, que permeten classificar-los per temes i facilitar-ne la cerca. A més de les categories per defecte, se'n poden afegir de noves o eliminar les existents. Les categories per defecte són les següents:
Incidències¶Les incidències (Issues) són una ferramenta per a crear i fer el seguiment de les incidències relacionades amb un projecte. A més, permeten que les persones del projecte es comuniquen i col·laboren per a aportar informació sobre la incidència i debatre'n la resolució. Exemple: Incidències a Material for MkDocsMaterial for MkDocs també utilitza les incidències per a informar de problemes, suggeriments o millores del tema. S'hi pot accedir mitjançant la secció Issues del menú superior.
Figura 4. Llista d'incidències en el repositori Les incidències contenen la informació següent:
Les incidències es creen amb l'estat Oberta, que es pot canviar a Tancada una vegada resolta la incidència. Exemple: Incidència a Material for MkDocsLa imatge següent mostra una incidència en el repositori Material for MkDocs, on s'informa d'un problema per a deshabilitar la barra de cerca.
Figura 5. Incidència en el repositori Exemple: Plantilla per a incidènciesEn aquest repositori s'ha configurat una plantilla per a informar d'una correcció en la documentació. Se'n pot vore el funcionament triant la plantilla Correcció en la creació d'una incidència nova. Les plantilles es defineixen en fitxers Markdown, que s'han de guardar
en la carpeta .github/ISSUE_TEMPLATE/correccio.md
GitHub Projects¶Els projectes de GitHub (GitHub Projects) són una ferramenta de gestió de tasques que permet organitzar, classificar i prioritzar les tasques d'un projecte. Exemple: Projecte d'exempleHe creat un projecte d'exemple dins de l'organització del curs. Aquest projecte està buit, però és útil perquè pugues entrar-hi i vore les diferents vistes i opcions que ofereix. Figura 6. Exemple de projecte en un repositori de GitHub. Exemple: Projecte utilitzat a l'aulaLa imatge següent mostra l'estat d'un projecte utilitzat a l'aula per a organitzar les tasques de l'alumnat en un projecte col·laboratiu de desenvolupament de programari.
Figura 7. Exemple de projecte en un repositori de GitHub utilitzat a l'aula. Els projectes s'organitzen en diferents pestanyes, cadascuna amb una vista i una organització diferents de les tasques:
Cada tasca es crea com un esborrany (draft), que es pot convertir en una incidència del repositori. Cada tasca conté la mateixa informació que una incidència, però a més es pot especificar:
Exemple: TascaLa imatge següent mostra una tasca creada com a esborrany (draft) en un projecte de GitHub.
Figura 8. Exemple de tasca en un projecte de GitHub. Fites¶Les fites (Milestones) són un mecanisme per a agrupar incidències i pull requests dins d'un repositori. S'utilitzen per a definir objectius específics en el desenvolupament del projecte. Cada fita conté la informació següent:
Les fites són accessibles amb el botó Milestones, des de la vista Issues o Pull Requests del repositori. Exemple: Fites en aquest repositoriEn aquest repositori s'ha creat una fita per a agrupar les incidències relacionades amb la preparació de la documentació del curs.
Figura 9. Fita en aquest repositori. Llançaments¶Els llançaments (Releases) són una funcionalitat de GitHub que permet indicar que s'ha publicat una versió del projecte, amb informació rellevant sobre els canvis realitzats i les persones que hi han contribuït. Els llançaments sempre estan associats a una etiqueta, que pot existir prèviament o es pot crear en el moment. Encara que són semblants, no s'han de confondre: els llançaments són elements de GitHub, mentre que les etiquetes són objectes de Git. Exemple: Llançaments a Material for MkDocsMaterial for MkDocs també utilitza els llançaments per a indicar que s'ha publicat una versió nova del tema. S'hi pot accedir mitjançant la secció Releases del lateral de la pàgina principal del repositori.
Figura 10. Exemple de llançament en el repositori Des de la secció de llançaments es pot crear un llançament nou, que ha d'incloure la informació següent:
GitHub permet generar automàticament les notes de llançament, amb informació sobre les pull requests i les persones que hi han contribuït. Exemple: Creació d'un llançamentLa imatge següent mostra la creació d'un llançament nou en un repositori de GitHub.
Figura 11. Creació d'un llançament en un repositori de GitHub. 📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent
a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.
|










