Please use this identifier to cite or link to this item: http://dspace.utpl.edu.ec/handle/29.500.19856/76064
Title: Implementación de un pipeline de CICD utilizando GitHub Actions para optimizar el proceso de integración y despliegue continuo de aplicaciones en la nube
Authors: Elizalde Solano, René Rolando
Langarano Guerrero, Katherine Isabel
Keywords: Ecuador.
Tesis digital.
Issue Date: 2025
Citation: Langarano Guerrero, K. I. Elizalde Solano, R. R. (2025) Implementación de un pipeline de CICD utilizando GitHub Actions para optimizar el proceso de integración y despliegue continuo de aplicaciones en la nube [Tesis de Grado, Universidad Técnica Particular de Loja]. Repositorio Institucional. https://dspace.utpl.edu.ec/handle/29.500.19856/76064
Abstract: Abstract: This work proposed to implement a complete continuous integration and deployment pipeline (CI/CD) using Github Actions to optimize the development process and cloud apps deployment. The main objective was to demonstrate how CI/CD practices can automate and significantly improve building processes, testing, linting and web apps deployment. The specific objectives included to investigate the best CI/CD practices, configuring an automated pipeline that integrates testing and linting tools, Github Actions performance evaluation and making a comparison with similar tools like Jenkins and Gitlab CI to determine the pros and cons of each platform. To achieve the objectives, a case study was developed by using as base project React TodoMVC app, implementing a full Github Actions pipeline that executes five main jobs: build, lint, tests, end-to-end tests and deployment. ESLint and Prettier for linting, Jest and Cypres for unit tests and end-to-end tests correspondingly, were some of the tools used on this methodology. The pipeline was configured with job interdependence, guaranteeing that only validated code reaches production environments, deploying automatically the web app in AWS S3 in static hosting mode configuration. Best practices as secrets for credentials, IAM permissions policies and artifacts to shared compiled code were implemented in all the pipeline jobs.
Description: Resumen:Este trabajo de integración curricular se propuso implementar un pipeline completo de integración y despliegue continuo (CI/CD) utilizando GitHub Actions para optimizar el proceso de desarrollo y despliegue de aplicaciones en la nube. El objetivo general fue demostrar cómo las prácticas de CI/CD pueden automatizar y mejorar significativamente los procesos de construcción, testing, linting y despliegue de aplicaciones web. Los objetivos específicos incluyeron investigar las mejores prácticas de CI/CD, configurar un pipeline automatizado que integre herramientas de testing y linting, evaluar el rendimiento de GitHub Actions, y realizar una comparación con otras herramientas como Jenkins y GitLab CI para determinar las ventajas y desventajas de cada plataforma. Para cumplir con los objetivos, se desarrolló un caso de estudio práctico, para el cual se utilizó como proyecto base la aplicación React TodoMVC, implementando un pipeline completo en GitHub Actions y que cumple con cinco jobs principales: build, lint, unit tests, end-to-end tests y deploy. ESLint y Prettier para linting, Jest y Cypress, para pruebas end-to-end y React Testing Library para pruebas unitarias, fueron algunas de las herramientas especializadas, utilizadas en la metodología. El pipeline fue configurado con dependencias entre jobs, garantizando que solo código validado llegue a producción, desplegando automáticamente la aplicación en AWS S3, configurado como static website hosting. Buenas prácticas como el uso de secrets para las credenciales, políticas de permisos mínimos en IAM, y artefactos para compartir el código compilado fueron implementadas, entre las diversas etapas del pipelin.
URI: https://bibliotecautpl.utpl.edu.ec/cgi-bin/abnetclwo?ACC=DOSEARCH&xsqf99=148908.TITN.
Appears in Collections:Ingeniería en Tecnologías de la Información



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.