Software">
Nothing Special   »   [go: up one dir, main page]

Entrega Escenario 5 Trabajo Colaborativo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 18

MODULO INTEGRACIÓN CONTINUA

PRESENTADO POR
JUAN CAMILO ACEVEDO MORALES
FELIPE BERRIO ARANGO
LUIS CASTAÑEDA
JUAN PABLO CHAPARRO CARDOZO

TUTORA
ALEXANDRA MARIA SILVA MONSALVE

SUBGRUPO 30

INSTITUCIÓN UNIVERSITARIA POLITÉCNICO


GRANCOLOMBIANO
FACULTAD DE INGENIERIA
INGENIERIA DE SOFTWARE
MEDELLÍN
C​ONTENIDO

INTRODUCCIÓN 3
INTRODUCCIÓN

Como objetivo del proyecto seleccionado para esta etapa educativa se decidió trabajar con un
proyecto de registro y categorización de productos y así desarrollar la solución de un problema.
Utilizando los marcos de referencia, así como también los diferentes modelos que están
establecidos. Buscaremos aprovechar al máximo la herramienta Laravel con la cual se va a
trabajar el proyecto para lograr tener claros sus componentes, Así como el proceso de su uso,
junto con esto buscaremos generar una estrategia eficiente y funcional, lo cual tendrá como
objetivo poner en práctica los conocimientos adquiridos y comprendidos durante las etapas
educativas.
Entrega Semana 5

Jenkins, gestor de operaciones e integración continua


La integración continua es una practica en el desarrollo de software donde los miembros del
equipo integran el trabajo frecuentemente, cada una de estas integraciones se verifica
compilando o ejecutando el código fuente para después obtener un ejecutable o “build” el cual
permite realizar las pruebas para detectar errores lo cual hace que el producto o la entrega final
tenga un porcentaje de fallo menor o una calidad más alta.

Una vez sabiendo esto, la herramienta sugerida para el desarrollo del proyecto es llamada
Jenkins, es un servidor de integración continua open-source más populares últimamente, esta
herramienta proviene de una similar llamada Hudson, la cual fue comprada por Oracle, luego de
esto, la herramienta fue renombrada a lo que conocemos hoy en día como Jenkins.

Jenkins es un servidor automatizado de integración continua de código abierto capaz de


organizar una cadena de acciones que ayudan a lograr el proceso de integración continua (y
mucho más) de manera automatizada. Puede trabajar con herramientas de control de versiones
como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y es capaz de ejecutar scripts de
shell y programas batch de Windows.

¿Qué funciones cumple?

La base de Jenkins son las tareas donde se le indica que es lo que se debe hacer en un “build”,
en este caso se puede programar una tarea para que se compruebe un repositorio de control,
entonces cuando un desarrollador quiera cargar una nueva versión del código, esta se suba y
se ejecuten las pruebas correspondientes, si hay un error Jenkins va a notificar al desarrollador
o a las personas encargadas para que corrijan el error, adicionalmente desde Jenkins se puede
llevar el proceso de seguimiento del desarrollo, se verán resultados de test, se puede generar
documentación, migrar o pasar versiones estables del software a producción y demás
Ventajas al usar Jenkins

- La mayor parte del trabajo de integración está automatizado. Por lo tanto, los problemas
de integración son menores. Esto ahorra tiempo y dinero durante la vida útil de un
proyecto.
- El desarrollador escribe las pruebas para detectar los errores de su código lo más rápido
posible. De modo que el tiempo del desarrollador se guarda sin desperdiciar
integraciones plagadas de errores a gran escala.
- Jenkins es capaz de realizar tareas complejas a través de una ejecución simple de
código. Además dispone de una gran variedad de plugins que ofrecen la posibilidad de
realizar múltiples acciones y una personalización completa del sistema.
- El proceso automatizado de construcción y pruebas ahorra mucho tiempo y reduce
muchos posibles defectos.

La idea general que nos da Jenkins es que el producto esté permanentemente pasando todos
los pasos necesarios para su liberación en un ambiente más cómodo para los desarrolladores.

Requisitos

Para comenzar a trabajar con Jenkins se requiere un repositorio de control de


versiones, en nuestro caso este repositorio estaría alojado en GitHub en el cual deben
estar los scripts del software a monitorear, Jenkins se encargará de la ejecución y
monitoreo de los scripts dentro del mismo repositorio para crear la “build” de la que se
habló previamente.

Proceso para el desarrollo de la integración


Durante el trabajo de la integración continua están las siguientes fases:

1. Desarrollo: Se crean las mejoras y nuevas integraciones al aplicativo


2. Compilación: A partir del desarrollo se crean las nuevas Builds del código.
3. Pruebas: se realiza el análisis y los test, con las métricas de calidad para poder
encontrar los errores que se puedan presentar en la build
4. Despliegue: Luego de la fase de pruebas se pasa al despliegue de la aplicación
en el entorno de producción o pre-producción del producto
5. Tests: se realizan los test funcionales en producción y de integración de los
nuevos desarrollos al software
6. Reportes: se generan los reportes del versionamiento con los nuevos ajustes o
características del software.

Integración de Jenkins con Laravel

Para la integración con nuestro proyecto, se debe crear el entorno en Jenkins del
aplicativo, luego de esto se procederá a instalar Jenkins en Docker para el control del
versionamiento, cada vez que se suba una nueva versión esta se procesara mediante
el pipeline de Jenkins lo cual dará la aprobación y el control del versionamiento para el
proyecto, una de las ventajas que esto nos da es que no necesitamos una maquina
virtual con una gran cantidad de recursos o un servidor propio para la creación y las
pruebas del software, por lo cual su paso a producción final será mucho más amigable
en el transcurso del desarrollo.
Downoload jekins requiere tener instalado java versión 1.8
Referencias
https://medium.com/faun/configure-laravel-8-for-ci-cd-with-jenkins-and-github-part-1-58b
9be304292
https://www.itdo.com/blog/integracion-continua-con-jenkins/
https://www.jenkins.io/doc/book/
https://codingpotions.com/jenkins-integracion-continua
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/jenkins-tutorial/
https://apiumhub.com/es/tech-blog-barcelona/ventajas-de-jenkins/#:~:text=Algunas%20
Ventajas%20de%20Jenkins%20es,construir%20y%20probar%20software%20continua
mente​.
https://www.hiberus.com/crecemos-contigo/jenkins-automatizacion-tareas-aplicada-a-ap
licaciones-moviles/
https://openwebinars.net/blog/que-es-jenkins-introduccion/
https://ciberninjas.com/jenkins/
https://davidgu.net/2012/05/19/jenkins-como-herramienta-de-integracion-continua-y-muc
ho-mas/

También podría gustarte