Salta el contingut

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ó.

Exemple d'un flux de treball de CI/CD

Katalon

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.