Integració continua CI
- Deixar per al final la integració afecta la finalització i entrega del proyecte.
- Si integrem molt sovint simplifiquem el problema
- Redueix el codia integrar
- Detectem els problemes abans
- La integració contínua proposa íntegra codi en finalitzar cada funcionalitat
- Passem d'integrar un sol cop a fer-ho cada dia o diversos cops
Requisits mínims CI
- Sistema de control de versions
- Un repo de codi remot per la integració
- Serà l'única font de veritat respecte al codi
- Sistema d'integració continua
- Git lab CI/CD Jenkins
- Automatització dels tests
- Regles de negci
- Criteris de qualitat
- Altres requisits
- Entorn de proves
- Retroalimentació ràpida
- Pràctiques de desenvolupament col·laboratiu
Pipeline
- Cicle de desenvolupament de codi
- Plan: Planificació de tasques i features a desenvolupar
- Plan: Planificació de tasques i features a desenvolupar
- En el moment de programar e integrar una nova feature
- Code: Programació del codi
- Build: Compilació si cal i verificació que el codi és vàlid a nivell de sintaxis
- Test: Validem que compleixi les regles de negoci i l'estàndard de qualitat definit a nivell organitzatiu
CI - Avantatges
- Reduir el risc
- Al incrementar la freqüencia de les integracions s'acota amb antelació el problema.
- Reduir tasques manuals repetitives
- S'automtatitza els procés d'integració, reduint potencials errors humans.
- Incrementa la confiança gràcies als tests.
- Millora la visibilitat del projecte
- Elimina el típic " a la meva màquina funciona"
CI - Inconvenients
- Habituar-se a les eines
- Desenvolupar els test i el codi de forma simultània (TDD)
- Suposa una corba d'aprenentatge gran al principi