class: center, middle, inverse # CI-CD ## --- # Continuous integration - Integració contínua - Els desenvolupadors fusionen els seus canvis a la branca principal tan sovint com sigui possible. - Cada canvi es valida - compilació - proves automatitzades --- # Continuous delivery - Lliurament continu - Implementa automàticament tots els canvis de codi en un entorn de prova i/o producció després de cada etapa de creació - Publicació manual, cada x temsps, etc. - Ràpid desplegament -> desplegar petits canvis --- # Continuous deployment - Desplegament continu - Quan tots els canvis superen tots els tests, es publica directament a producció - No hi ha intervenció humana --- # Eines - Jenkins - Travis - Gitlab CICD - Github Actions --- # Gitlab CICD - El fitxer _.gitlab-ci.yml_ a l'arrel del projecte permet configurar el cicd de gitlab - Exemples - [compila i testeja projecte kotlin](files/gitlab-ci.test_n_build.yml) - [compila, testeja i public dokka](files/gitlab-ci.test_build_dokka.yml) --- # Giglab CICD - dokka - Modifica el graddle amb la línia següent: ``` tasks.dokkaHtml.configure { outputDirectory.set(project.file("public/dokka")) } ``` - A gitlab, ves a pages i settings/pages per obtenir la url - afegeix /dokka - Pot tardar una estona la primera vegada