Què és CI/CD?
CI/CD fa referència a Integració Contínua (Continuous Integration, CI) i Entrega Contínua o Lliurament Continuu (Continuous Delivery, CD), dos conceptes clau en el desenvolupament de software modern.
La Integració Contínua (Continuous Integration, CI) es una pràctica de desenvolupament de software que implica que los desenvolupadors integrin el seu codi en un repositori central de manera freqüent, generalment uns quants cops al dia. Cada integració es verifica mitjançant una compilació automatitzada i proves unitàries per detectar errors el més ràpid possible.
D’altra banda, Entrega Contínua és un enfocament en què el software es produeix de manera que pugui ser alliberat a producció en qualsevol moment. Això significa que, a més de la compilació i les proves unitàries automatitzades, també es realitza la implementació automatitzada.
Juntes, CI/CD introdueixen una cultura d’entrega contínua en el desenvolupament de software, minimitzant el risc, millorant la productivitat i accelerant el llançament de noves característiques.
Implementant CI/CD amb Azure DevOps
Azure DevOps és una solució completa que et permet implementar l’ús efectiu de la pràctica de CI/CD. Aquí tens una descripció general de com fer-ho:
- Configuració del Repositori de Codi: El primer pas és tenir el teu codi en un repositori. Azure DevOps proporciona Azure Repos, un servei de repositori de codi que suporta Git i Team Foundation Version Control (TFVC). No obstant això, també es pot integrar amb GitHub.
- Definir el Pipeline d’Integració Contínua: Azure Pipelines és l’eina de CI/CD de Azure DevOps. Per configurar la Integració Contínua, necessites definir un pipeline de CI que s’encarregui de compilar el codi i realitzar proves unitàries cada vegada que es fa un canvi en el codi. Aquest pipeline es pot configurar en l’arxiu YAML a la carpeta arrel del teu repositori.
- Definir el Pipeline d’Entrega Contínua: A més de la Integració Contínua, també pots definir un pipeline d’Entrega Contínua per implementar la teva aplicació de manera automàtica a l’entorn desitjat. Pots definir les etapes, les aprovacions i les condicions del teu pipeline de CD en el mateix fitxer YAML.
- Configuració dels Entorns: Azure DevOps et permet configurar entorns de desplegament (com Desenvolupament, Prova, Producció, etc.) en els quals es pot implementar l’aplicació. També pots definir polítiques d’aprovació i control d’accés per a cada entorn.
- Monitoratge: Un cop l’aplicació està en producció, Azure DevOps s’integra amb Azure Monitor i Application Insights per proporcionar telemetria i monitoratge.
- Integracions: Azure DevOps s’integra amb una gran quantitat d’eines i serveis. Pots connectar-lo amb eines de gestió de projectes com Jira, eines de proves com Selenium, serveis de contenidors com Docker i Kubernetes, i també amb eines de qualitat de codi com SonarQube.
Dissenyar pipelines i configurar integracions pot ser complex. Tot i que Azure DevOps és una eina potent, l’èxit realment depèn de com l’utilitzis. A QualitApps, podem assessorar-te i implementar un flux de treball de CI/CD eficaç, dissenyar i configurar els teus pipelines, seleccionar les eines d’integració adequades i més.