|
Eines de gestió de projectes a GitHubJoan Puigcerver Ibáñez Eines de 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. 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ó de les Discussions en un repositori de GitHub Debats a aquest repositoriAquest 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ç. Figura 2. Debats en en repositori d'aquest curs a GitHub Debats a Material for MkDocsMaterial 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 s'han habilitat els debats i la comunitat pot intercanviar idees, suggeriments o plantejar dubtes. Figura 3. Debats en el repositori Els debats estan organitzats per categories, que permeten classificar-los per temes i facilitar-ne la cerca. També es poden afegir noves categories o eliminar les existents. Les categories per defecte són les següents:
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 seua resolució. Incidències a Material for MkDocsMaterial for MkDocs també utilitza la funcionalitat d'incidències per informar sobre problemes, suggeriments o millores del tema. Podeu accedir a les incidències d'aquesta ferramenta mitjançant la secció Issues del menú superior. Figura 4. Llista d'incidències en el repositori Les incidències contenen la següent informació:
Les incidències es creen amb l'estat de Oberta, que pot ser canviat a Tancada una vegada ha sigut resolta. Exemple d'incidència a Material for MkDocsLa següent imatge mostra una incidència en el repositori Material for MkDocs, on s'informa d'un problema per deshabilitar la barra de cerca. Figura 5. Incidència en el repositori Exemple de plantilla per a incidènciesEn aquest repositori s'ha configurat una plantilla per informar d'una correcció en la documentació. Podeu veure el seu funcionament si trieu la plantilla Correcció en la creació d'una nova incidència. 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 és una eina de gestió de tasques que permet organitzar, classificar i prioritzar les tasques d'un projecte. Projecte d'exempleHe creat un Projecte d'exemple dins de l'organització del curs. Aquest projecte està buit, però és útil perquè pugueu entrar i veure les diferents vistes i opcions que ofereix. Figura 6. Exemple de projecte en un repositori de GitHub Exemple de projecte utilitzat a l'aulaLa següent imatge mostra l'estat d'un projecte utilitzat a l'aula per a organitzar les tasques dels alumnes en un projecte de desenvolupament de programari col·laboratiu. Figura 7. Exemple de projecte en un repositori de GitHub utilitzat a l'aula Els projectes estan organitzats en diferents pestanyes, que inclouen diferents vistes i organització de les tasques:
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:
Exemple de tascaLa següent imatge mostra un exemple d'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 o Milestones són un mecanisme per organitzar Incidències i Pull Requests dins d'un repositori. S'utilitzen per definir objectius específics en el desenvolupament del projecte. Cada fita conté la següent informació:
Podeu accedir a les fites amb el botó Milestones, des de la vista de Issues o Pull Requests del repositori. Fites a aquest repositoriEn aquest repositori s'ha creat una fita per a organitzar les incidències relacionades amb la preparació de la documentació per a portar a terme el curs. Figura 9. Fita en aquest repositori Llançaments¶Els llançaments o Releases és una funcionalitat de GitHub 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, que pot existir prèviament o es pot crear al moment. Encara que són similars, no hem de confondre un llançament amb una etiqueta. Els llançaments són elements de GitHub i, en canvi, les etiquetes són objectes de Git. Llançaments a Material for MkDocsMaterial for MkDocs també utilitza la funcionalitat de llançaments per a indicar que s'ha publicat una nova versió del tema. Podeu accedir als llançaments d'aquest repositori mitjançant la secció Releases de la secció 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 nou llançament, on cal incloure la següent informació:
Informació 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çamentLa següent imatge mostra la creació d'un nou llançament 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.
|