Automatització¶
Un aspecte clau del desenvolupament modern de programari és l'automatització de tasques repetitives, ja que accelera el procés de lliurament de noves funcionalitats i millora la qualitat del projecte, sense necessitat d'intervenció manual.
Integració contínua i desplegament continu (CI/CD)¶
- Integració contínua (Continuous Integration o CI): consisteix en integrar els canvis a la branca principal de manera contínua i freqüent, executant de manera automàtica les proves del programari i altres validacions cada vegada que s'integra un canvi. Això permet detectar errors de manera més ràpida i senzilla.
- Desplegament continu (Continuous Deployment o CD): consisteix en automatitzar el procés de desplegament de l'aplicació, des de la compilació fins a la publicació en el servidor de producció.
Figura 1. Exemple d'un flux de treball de CI/CD.
GitHub Actions¶
En aquest projecte, s'utilitzarà GitHub Actions
per a definir els fluxos de treball automatitzats. Es configuren mitjançant
fitxers YAML situats en el directori .github/workflows/, i s'executen
automàticament quan es compleix algun dels esdeveniments configurats, com
ara:
pull_request: quan s'obri o s'actualitze una Pull Request.push: quan es puja un canvi a una branca concreta.release: quan es crea un nou Llançament (Release).workflow_dispatch: per a poder executar el flux de treball manualment.
Tasques automatitzades en el projecte¶
En aquest projecte, s'utilitzarà GitHub Actions per automatitzar les següents tasques:
- Executar les Proves del programari quan una Pull Request estiga preparada per a ser revisada.
- Executar validacions d'estil en el codi font quan una Pull Request estiga preparada per a ser revisada.
- Compilar i empaquetar el codi del projecte quan es realitze un nou Llançament (Release).
- Publicar automàticament el desplegament de l'aplicació en el servidor de producció quan es realitze un nou Llançament (Release).
Secrets¶
El desplegament automatitzat necessitarà informació sensible per a connectar-se als servidors (credencials d'accés, claus SSH, etc.). Aquesta informació mai s'ha d'incloure directament en els fitxers de configuració, ja que són públics i accessibles a qualsevol persona amb accés al repositori.
GitHub Actions permet gestionar aquesta informació de manera segura mitjançant els Secrets: variables que es poden utilitzar en els fluxos de treball, però que no són visibles en els fitxers de configuració. Es configuren en Settings > Secrets and variables > Actions del repositori.
