Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Como escenario tenemos a una Empresa de Servicios Informáticos, que brinda sus
servicios a PYMEs, instituciones públicas y privadas.
Gerente de TI, profesional que tiene como funciones planificar, organizar, controlar
gestionar y evaluar los proyectos, procesos, recursos y herramientas que involucran
las actividades de desarrollo de software y la prestación de servicios como el caso
de software como servicio.
Comunicación y coordinación:
Desarrollo:
2. Involucrados
Desarrollo
● 1 Scrum Master
● 1 Dev Senior, Líder de Equipo
● 2 Devs Fullstack
Gestión
4. Plan de acción
Herramientas DevOps
- Jenkis
Jenkins es un servidor de automatización open source escrito en Java que ayuda en
la automatización de parte del proceso de desarrollo de un software. Se utiliza para
compilar, probar e implementar software de forma continua, lo que facilita a los
desarrolladores integrar cambios en un proyecto de forma segura y eficiente.
Jenkins puede utilizarse para automatizar una amplia gama de tareas de CI/CD,
incluidas las siguientes:
● Compilación de código
● Pruebas de software
● Implementación de software
● Monitoreo de software
● Análisis de código
- SonarQube
SonarQube es una plataforma de código abierto para la inspección continua de la
calidad del código a través de diferentes herramientas de análisis estático de código.
Se utiliza para identificar problemas de calidad y seguridad en el código, y obtener
informes detallados sobre cómo mejorar la calidad del código.
1. Investigación de Herramientas:
○ Investigar las características y requisitos de Jenkins y SonarQube.
○ Evaluar la infraestructura actual y decidir la ubicación del servidor
para Jenkins y SonarQube.
2. Planificación Inicial:
○ Definir objetivos claros para la implementación de Jenkins y
SonarQube.
○ Establecer roles y responsabilidades en el equipo.
3. Instalación de Jenkins:
○ Configurar un servidor VPS para Jenkins.
○ Instalar Jenkins siguiendo la documentación oficial.
4. Configuración Básica:
○ Configurar usuarios y permisos en Jenkins.
○ Crea un nuevo proyecto de Jenkins para tu aplicación.
7. Evaluación de SonarQube:
○ Investigar características y beneficios de SonarQube según los
objetivos.
○ Seleccionar la versión de SonarQube adecuada y planificar la
integración.
8. Integración en el Pipeline:
○ Configurar SonarQube en el pipeline de Jenkins.
○ Definir reglas de calidad y configuración de análisis estático.
9. Pruebas de Calidad:
○ Desarrollar pruebas de calidad adicionales, como pruebas de
rendimiento y de carga.
○ Integrar pruebas en el pipeline de CI/CD.
10. Pruebas de Seguridad:
○ Introducir pruebas de seguridad automatizadas, como análisis de
vulnerabilidades.
○ Integrar las pruebas en el pipeline de CI/CD.
● Capacitación:
○ Proporcionar capacitación a los miembros del equipo sobre las
nuevas herramientas y procesos.
● Mejora Continua:
○ Establecer revisiones periódicas para identificar áreas de mejora
continua.
Casos de Uso
Métricas de Evaluación
1. Frecuencia de Implementación
Porque mide la proporción de código que está cubierto por pruebas automatizadas.
Una alta cobertura reduce el riesgo de errores no detectados.
Arquitectura
En este diagrama se cuenta con los siguientes componentes:
Se tiene un repositorio GitLab, al que se accede mediante internet para gestionar el código.
Se cuenta con un servidor VPS con los recursos necesarios para implementar Jenkis,
SonarQube y Nginx dentro de contenedores, formando una red de contenedores para su
comunicación.
El flujo inicia cuando el desarrollador realiza cambios en el código y los sube al repositorio
GitLab. Jenkins detecta el cambio, se inicia el proceso de pruebas y se envía el código para
análisis de calidad y seguridad a SonarQube, este retorna el informe de resultados a
Jenkins. Si las pruebas son exitosas, Jenkins notifica al cliente de que el software está listo
para ser probado. El cliente puede acceder al entorno de prueba y probar el software.