Exercici GitFlow & Jira
Sumari
- Introducció
- Funcionament
- Preparació del projecte
- Inici del primer sprint
- Fi del primer sprint
- Tasques i sprints
Introducció
Volem fer un programa que sigui un petit robot assistent que dongui la benvinguda als nous alumnes de l'institut.
Quan el tinguem acabat el funcionament hauria de ser com aquest:
Bon dia, com et dius?
> Joan
Bon dia Joan!
El teu nom és 4 lletres del revés és naoJ
Quants anys tens?
> 5
Vas néixer el 2017 o el 2018 oi?
El 2017 tenia 365 dies i el 2018 366.
Quin és el teu menjar preferit
> els macarrons
A mi també m'agraden els macarrons!
Pensat un número del 1 al 10.
És el 5 (s/n)?
> n
És el 2 (s/n)?
> n
És el 7 (s/n)?
> s
A mi també m'agrada el 7.
Funcionament
Farem el projecte en equips de 3, usant l'eina Jira per administrar les tasques, git flow com a fluxe de treball i Toggl per l'enregistrament del temps.
Dividirem les tasques en dos pseudo-sprints (cada sprint durarà una hora)
Preparació del projecte
- Fes un grup de tres
- Seleccioneu un administrador del projecte i s'encarregarà de crear el Jira, Toggl i el GitLab (la següent tasques)
Jira
Ara crearem el projecte al Jira. Aquesta tasca només la farà un membre del projecte.
- Entra a https://www.atlassian.com/software/jira/free
- Selecciona "Jira Service Management"
- Registrat
- Al nom del site posa itb + el teu nom: itbjoansala
- Indica que vols usar gitlab
Projecte
- Crear projecte
- Tipus Scrum
- Usa una template
- Team managed project
- Marca Connect repositories i tria el nom del teu projecte
- Conectat a gitlab i crea el repositori (és crea sol desde Jira). Si no et surt gitlab fes clic a add tools
- Invita els companys del projecte: Project settings -> Access
Toggl
- Registrat a https://toggl.com (aquest pas l'han de fer tots els membres del grup)
- Crea un projecte nou al Toggl
- Afegeix els altres membres de l'equip al projecte
Toggl - Jira
- Al jira afegeix l'aplicació "Toggl for JIRA Cloud"
- Configura el projecte del Jira per relacionar-lo amb el projecte del toggl
GitLab & Intellij
Ara configurarem el projecte GitLab i al Intellij
- Entra a gitLab i afegeix els altres membres del grup com a administradors del projecte
- Crea un projecte al Intellij (Kotlin-gradle)
- Afegeix el .gitignore
- Puja'l al repository de gitlab creat pel Jira
- Crea una branca develop (ho pots fer desde el gitlab)
Introducció de tasques al Jira
Ara introduirem les diferents tasques al Jira (pots veure les tasques a afegir al final del document).
- Els dos membres de l'equip que no han creat al projecte entreu al Jira (al projecte compartit).
- El primer ha d'afegir les tasques del primer sprint (titol i descripció)
- El segon ha de crear un segon sprint i afegir-hi les tasques
Inici del primer sprint
Ja podem començar. Iniciarem l'sprint 1 i començarem a resoldre les tasques.
- Reparteix les tasques de l'sprint 1 entre els membres de l'equip (al Jira)
- Inicia l'sprint.
Inici tasca
- Fes clic a la tasca que has de fer
- Inicia el toggl (contador de temps)
- Crea la branca desde el Jira (selecciona el projecte i la branca develop)
- Ves a l'Intellij i fes checkout de la braca nova
- Programa
- Recorda
- parar el toggl si pares de treballar
- fer add/commit/push dels desenvolupaments
- Posa comentaris als commits explicatius!
Reprendre una tasca
- Inicia el toggl
- A l'intellij assegurat d'estar a la branca correcte
Finalitzar una tasca
- A intellij
- Fes add/commit/push
- Fes checkout de develop i fes-ne un pull
- Merge de la branca de la tasca a develop
- Testing
- Fes un push del merge
- Ves al Jira
- marca la tasca com a feta
- Para el toggl
Fi del primer sprint
Quan ja tingueu totes les tasques fetes tancarem el primer sprint. Un dels membres de l'equip ha de:
- Desde Intellij
- Fes checkout de develop & update
- Fes checkout de master & update
- Merge develop a master
- QA
- Push
- Jira
- Marca sprint com acabat
Ja podeu començar el segon sprint.
Tasques i sprints
Sprint 1
En aquesta primera versió crearem un robot que respondrà les pregutes més senzilles.
Tasques
Say Hello
El Robot ha de saludar a l'usuari.
Organització
Crea un fitxer anomenat RobotWelcome.kt que tingui la funció i que es cridi desde el main
fun welcome(scanner: Scanner)
input/output
Bon dia, com et dius?
> Joan
Bon dia Joan!
Calculate Age
Organització
Crea un fitxer anomenat RobotAgeCalculator.kt que tingui la funció
fun calculateAge(scanner: Scanner)
input/output
Quants anys tens?
> 5
Vas néixer el 2017 o el 2018 oi?
Best Food
input/output
Quin és el teu menjar preferit
> els macarrons
A mi també m'agraden els macarrons!
Organització
Crea un fitxer anomenat BestFood.kt que tingui la funció
fun askForBestFood(scanner: Scanner)
Sprint 2
En aquesta segona versió deixarem acabada la nostre aplicació
Tasques
Calculate year per age
input/output
Quants anys tens?
> 5
Vas néixer el 2017 o el 2018 oi?
El 2017 tenia 365 dies i el 2018 366.
Organització
Modifica RobotAgeCalculator per a que calculi els dies de l'any de naixement.
Guess Number
input/output
Pensat un número del 1 al 10.
És el 5 (s/n)?
> n
És el 2 (s/n)?
> n
És el 7 (s/n)?
> s
A mi també m'agrada el 7.
Organització
Crea un fitxer anomenat GuessNumber.kt que tingui la funció
fun guessNumber(scanner: Scanner)
Name Stats
input/output
Bon dia, com et dius?
> Joan
Bon dia Joan!
El teu nom és 4 lletres del revés és naoJ
Organització
Modifica RobotWelcome per a que calculi les lletres i el nom del revés