SlideShare una empresa de Scribd logo
Pipeline
implementación de un producto digital
por Vanesa Fdez Membrillera
Integración Continua
2
Planificación
Push
Código Implementación Test Despliegue Ejecución Operación
Flujo normal Lineal:
Integración Continua
3
Desarrollo
Repositorio
Revisión Código
estático
Repositorio Binario
1. Push 2. Construcción y
Updates automáticos
3a. Calidad
4. Publicar
5b. Update binario
5a. Despliegue
en Test
Entorno de
testing
Entorno de
producción
6. Testing funcional 7. Despliegue
en Producción
Vulnerabilidades
3b. Seguridad
1. Push
Desarrollo
Repositorio
1. Push
Los desarrolladores (puestos locales) utilizarán herramientas de
desarrollo como pueden ser:
● Intellij: Para Java
Una vez las modificaciones hayan sido realizadas se realizará un
Push, enviandose a al repositorio GitLab.
2. Build y testing automáticos
5
Repositorio
2. Construcción y
Updates automáticos
Una vez en el repositorio, Gitlab informa a Jenkins a
través de webhooks de que se ha realizado un push
de nuevo código. Entonces Jenkins se descarga de
Gitlab el nuevo código para compilar y, usando
herramientas como Junit, TestNG o JMeter, lanza los
test automáticos:
● Tests unitarios, que prueban pequeñas partes aisladas del código.
● Tests de integración, que prueban cómo varias piezas trabajan juntas.
● Tests de regresión, que comprueban la compatibilidad con versiones anteriores.
● Tests de rendimiento, que verifican que el rendimiento está dentro de lo aceptable.
Si los test son correctos, pasaríamos a la siguiente fase de verificación estática del código.
3. Calidad y seguridad
6
Cuando ya se han realizado todos los test
unitarios (automáticos) y estos han salido
favorablemente, se procede a realizar la revisión
estática del código y comprobación de
vulnerabilidades. Para ello utilizamos
● Sonarqube: Revisa el código y genera un
informe que ofrezca el resultado de dichas
revisiones.
● OWASP: Comprueba si el código o las
librerías están afectados por problemas de
seguridad conocidos.
Revisión Código
estático3a. Calidad
Vulnerabilidades
3b. Seguridad
4. Publicación del binario
7
Repositorio Binario
4. Publicar
Una vez construido el binario, pasados los tests, y revisada la calidad del código, el
binario generado está listo para ser publicado. Para ello utilizamos
● Nexus: Es un repositorio de archivos binarios,
utilizado para almacenar el software generado junto
con sus versiones. Las versiones finalistas (releases)
guardadas en Nexus no pueden ser modificadas a
posteriori, garantizando que no haya dos binarios
diferentes con el mismo número de versión.
5. Despliegue
8
Desarrollo
Repositorio Binario
5b. Update binario
5a. Despliegue
Entorno de
testing /
producción
El binario almacenado en Nexus es el que se despliega, es decir, que se
lleva a ejecutar a los entornos de testing y producción.
Si el binario es además usado como dependencia por otras aplicaciones,
como por ejemplo una librería, también es actualizado localmente por el
desarrollador.
En Integración Continua, éste despliegue
implica intervención humana, bien para
hacer el despliegue, o para aprobarlo. Si
el despliegue también fuera automático,
hablaríamos de Entrega Continua.
6, 7y8. Testing funcional y
Despliegue en producción
9
Entorno de
testing
Entorno de
producción
7. Testing funcional 8. Despliegue en
Producción
6. Una vez tenemos la aplicación versionada en Nexus, Jenkins se encarga de
desplegarla en un entorno de testing.
7. Es el momento de que las herramientas de testing funcional simulen cómo
un usuario interacciona con la aplicación, para comprobar que ésta hace lo que
se espera.
8. Si los tests funcionales son satisfactorios, Jenkins desplegará la aplicación
en el entorno de producción, que es al que acceden los usuarios finales.
6. Despliegue en
Testing
9. Ejecución y Operación
10
La aplicación desplegada en producción tiene que ser monitorizada para verificar su
correcto funcionamiento.
Nagios nos ayuda en la monitorización de la red, los servidores y la aplicación,
alertando ante cualquier incidencia.
ELK nos recopila los logs de los servidores y aplicación, para su análisis posterior.
Ejecución Operación
11
Gracias!
Alguna pregunta?

Más contenido relacionado

La actualidad más candente

Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
Gonzalo Sainz Trápaga
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Osvaldo
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
César Hernández
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
Micael Gallego
 
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas
 
Pylons
PylonsPylons
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
TestingUy
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
Info ArtdeCode
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
Javier Novoa Cataño
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
Jose Emilio Labra Gayo
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
Jose Patricio Bovet Derpich
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
emateucr
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
Micael Gallego
 
Desmontando a Jenkins :-)
Desmontando a Jenkins :-)Desmontando a Jenkins :-)
Desmontando a Jenkins :-)
Juan Antonio Martin
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
Cristian Romero Matesanz
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Micael Gallego
 
Pipelines as code with Drone
Pipelines as code with DronePipelines as code with Drone
Pipelines as code with Drone
Facundo Diaz Cobos
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
Micael Gallego
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
Ramón Glez
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
Rodrigo Pimentel
 

La actualidad más candente (20)

Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
 
Curso Kubernetes CodeURJC
Curso Kubernetes CodeURJCCurso Kubernetes CodeURJC
Curso Kubernetes CodeURJC
 
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13
 
Pylons
PylonsPylons
Pylons
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Administra tu código con Git y Github
Administra tu código con Git y GithubAdministra tu código con Git y Github
Administra tu código con Git y Github
 
Introducción a GIT
Introducción a GITIntroducción a GIT
Introducción a GIT
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente? LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
 
Docker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJCDocker para Data Scientist - Master en Data Science URJC
Docker para Data Scientist - Master en Data Science URJC
 
Desmontando a Jenkins :-)
Desmontando a Jenkins :-)Desmontando a Jenkins :-)
Desmontando a Jenkins :-)
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
 
Pipelines as code with Drone
Pipelines as code with DronePipelines as code with Drone
Pipelines as code with Drone
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Git with Scrum en español
Git with Scrum en españolGit with Scrum en español
Git with Scrum en español
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 

Similar a Pipeline de Integración continua

Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
Abimael Desales López
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Osvaldo
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
Jose Manuel Ortega Candel
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
AngelDX
 
NetBeanside
NetBeansideNetBeanside
NetBeanside
Luis Guallpa
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
BEEVA_es
 
Proyectos JAVA con maven
Proyectos JAVA con mavenProyectos JAVA con maven
Proyectos JAVA con maven
Juan Vladimir
 
Proyectos java-con-maven
Proyectos java-con-mavenProyectos java-con-maven
Proyectos java-con-maven
Juan Vladimir
 
Netbeans ide 7.2
Netbeans ide 7.2Netbeans ide 7.2
Netbeans ide 7.2
DianaMorales1234
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWS
Amazon Web Services LATAM
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
Hugo Gilmar Erazo
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOps
juanmdura
 
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan share
Demian Raschkovan
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp Une
Marcos Jara
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
Agencia La Nave
 
Desplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y JenkinsDesplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y Jenkins
La Drupalera
 
Framework
FrameworkFramework
Framework
chioortiz
 
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Rodrigo Torres
 
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
Lilián Torres
 
DevOps on AZURE
DevOps on AZUREDevOps on AZURE
DevOps on AZURE
Juan Fabian
 

Similar a Pipeline de Integración continua (20)

Integrando sonar
Integrando sonarIntegrando sonar
Integrando sonar
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Lp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de DesarrolloLp II clase03 - Entornos de Desarrollo
Lp II clase03 - Entornos de Desarrollo
 
NetBeanside
NetBeansideNetBeanside
NetBeanside
 
Gestión del software con Maven y Jenkins
Gestión del software con Maven y JenkinsGestión del software con Maven y Jenkins
Gestión del software con Maven y Jenkins
 
Proyectos JAVA con maven
Proyectos JAVA con mavenProyectos JAVA con maven
Proyectos JAVA con maven
 
Proyectos java-con-maven
Proyectos java-con-mavenProyectos java-con-maven
Proyectos java-con-maven
 
Netbeans ide 7.2
Netbeans ide 7.2Netbeans ide 7.2
Netbeans ide 7.2
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWS
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOps
 
Dynamics saturday madrid 2019 jose antonio estevan share
Dynamics saturday madrid 2019   jose antonio estevan shareDynamics saturday madrid 2019   jose antonio estevan share
Dynamics saturday madrid 2019 jose antonio estevan share
 
Modulo Jee Practica Pos Fp Une
Modulo Jee Practica  Pos Fp UneModulo Jee Practica  Pos Fp Une
Modulo Jee Practica Pos Fp Une
 
¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?¿Qué es y cómo instalar un entorno de desarrollo de programación?
¿Qué es y cómo instalar un entorno de desarrollo de programación?
 
Desplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y JenkinsDesplegando código con Phing, PHPunit, Coder y Jenkins
Desplegando código con Phing, PHPunit, Coder y Jenkins
 
Framework
FrameworkFramework
Framework
 
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
 
Netbeans ide 7.2(2)
Netbeans ide 7.2(2)Netbeans ide 7.2(2)
Netbeans ide 7.2(2)
 
DevOps on AZURE
DevOps on AZUREDevOps on AZURE
DevOps on AZURE
 

Último

04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
MarcoPolo545324
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
DilmerCarranza
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Emisor Digital
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
mvargasleveau
 
3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
nahumrondanurbano
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
diegozuniga768
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
IrapuatoCmovamos
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
brayansangar73
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
SantiagoMejia99
 
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
defola5717
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
DivergenteDespierto
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
WendyMLaura
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
MedTechBiz
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
silvanasotos
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
NereaMolina10
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
GustavoTello19
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
IrapuatoCmovamos
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
AaronPleitez
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
DieguinhoSalazar
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
christianllacchasand
 

Último (20)

04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos04 capital interes simple.pdf de la clase métodos cuantitativos
04 capital interes simple.pdf de la clase métodos cuantitativos
 
vivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodosvivienda segura concreto, construcción y métodos
vivienda segura concreto, construcción y métodos
 
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdfInforme de violencia mayo 2024 - Multigremial Mayo.pdf
Informe de violencia mayo 2024 - Multigremial Mayo.pdf
 
DEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entenderDEFENSA NACIONAL.ppt muy fácil de entender
DEFENSA NACIONAL.ppt muy fácil de entender
 
3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt3-Modelamiento de Procesos usando BPMN.ppt
3-Modelamiento de Procesos usando BPMN.ppt
 
e learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhote learning^.pptxdieguearmandozuñiga. Comhot
e learning^.pptxdieguearmandozuñiga. Comhot
 
10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf10 colonias - Análisis socio-demográfico 2024.pdf
10 colonias - Análisis socio-demográfico 2024.pdf
 
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje  o educativas E-LEARNING.pdfComunidades virtuales de aprendizaje  o educativas E-LEARNING.pdf
Comunidades virtuales de aprendizaje o educativas E-LEARNING.pdf
 
sistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbssistema paralingüística fhdjsjsbsnnssnnsbs
sistema paralingüística fhdjsjsbsnnssnnsbs
 
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
Obligaciones_de_los_Municipios_y_Departamentos_en_los_Determinantes_Ambiental...
 
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdfEncuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
Encuesta CATI Verdad Venezuela abril 2024 (PÚBLICO).pdf
 
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdfSemana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
Semana 09 - Tema 02 Dinámica de cuentas del plan contable.pdf
 
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdfMinería de Datos e IA  Conceptos, Fundamentos y Aplicaciones.pdf
Minería de Datos e IA Conceptos, Fundamentos y Aplicaciones.pdf
 
nombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docxnombres de las unidades y situacion significativa 2024.docx
nombres de las unidades y situacion significativa 2024.docx
 
Sistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 cursoSistema informatico, power point asir 1 curso
Sistema informatico, power point asir 1 curso
 
MI CECTOR POSTE BLANCO - Paián .pdf
MI  CECTOR  POSTE  BLANCO - Paián   .pdfMI  CECTOR  POSTE  BLANCO - Paián   .pdf
MI CECTOR POSTE BLANCO - Paián .pdf
 
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdfREPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
REPORTE DE HOMICIDIO DOLOSO-MAYO 2024.pdf
 
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIOLINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
LINEA DE TIEMPO Y PERIODO INTERTESTAMENTARIO
 
contraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadascontraguerrilla.pdf sobre anti emboscadas
contraguerrilla.pdf sobre anti emboscadas
 
Plan Emergencia solicitado en obras de construccion
Plan Emergencia  solicitado en obras de construccionPlan Emergencia  solicitado en obras de construccion
Plan Emergencia solicitado en obras de construccion
 

Pipeline de Integración continua

  • 1. Pipeline implementación de un producto digital por Vanesa Fdez Membrillera
  • 2. Integración Continua 2 Planificación Push Código Implementación Test Despliegue Ejecución Operación Flujo normal Lineal:
  • 3. Integración Continua 3 Desarrollo Repositorio Revisión Código estático Repositorio Binario 1. Push 2. Construcción y Updates automáticos 3a. Calidad 4. Publicar 5b. Update binario 5a. Despliegue en Test Entorno de testing Entorno de producción 6. Testing funcional 7. Despliegue en Producción Vulnerabilidades 3b. Seguridad
  • 4. 1. Push Desarrollo Repositorio 1. Push Los desarrolladores (puestos locales) utilizarán herramientas de desarrollo como pueden ser: ● Intellij: Para Java Una vez las modificaciones hayan sido realizadas se realizará un Push, enviandose a al repositorio GitLab.
  • 5. 2. Build y testing automáticos 5 Repositorio 2. Construcción y Updates automáticos Una vez en el repositorio, Gitlab informa a Jenkins a través de webhooks de que se ha realizado un push de nuevo código. Entonces Jenkins se descarga de Gitlab el nuevo código para compilar y, usando herramientas como Junit, TestNG o JMeter, lanza los test automáticos: ● Tests unitarios, que prueban pequeñas partes aisladas del código. ● Tests de integración, que prueban cómo varias piezas trabajan juntas. ● Tests de regresión, que comprueban la compatibilidad con versiones anteriores. ● Tests de rendimiento, que verifican que el rendimiento está dentro de lo aceptable. Si los test son correctos, pasaríamos a la siguiente fase de verificación estática del código.
  • 6. 3. Calidad y seguridad 6 Cuando ya se han realizado todos los test unitarios (automáticos) y estos han salido favorablemente, se procede a realizar la revisión estática del código y comprobación de vulnerabilidades. Para ello utilizamos ● Sonarqube: Revisa el código y genera un informe que ofrezca el resultado de dichas revisiones. ● OWASP: Comprueba si el código o las librerías están afectados por problemas de seguridad conocidos. Revisión Código estático3a. Calidad Vulnerabilidades 3b. Seguridad
  • 7. 4. Publicación del binario 7 Repositorio Binario 4. Publicar Una vez construido el binario, pasados los tests, y revisada la calidad del código, el binario generado está listo para ser publicado. Para ello utilizamos ● Nexus: Es un repositorio de archivos binarios, utilizado para almacenar el software generado junto con sus versiones. Las versiones finalistas (releases) guardadas en Nexus no pueden ser modificadas a posteriori, garantizando que no haya dos binarios diferentes con el mismo número de versión.
  • 8. 5. Despliegue 8 Desarrollo Repositorio Binario 5b. Update binario 5a. Despliegue Entorno de testing / producción El binario almacenado en Nexus es el que se despliega, es decir, que se lleva a ejecutar a los entornos de testing y producción. Si el binario es además usado como dependencia por otras aplicaciones, como por ejemplo una librería, también es actualizado localmente por el desarrollador. En Integración Continua, éste despliegue implica intervención humana, bien para hacer el despliegue, o para aprobarlo. Si el despliegue también fuera automático, hablaríamos de Entrega Continua.
  • 9. 6, 7y8. Testing funcional y Despliegue en producción 9 Entorno de testing Entorno de producción 7. Testing funcional 8. Despliegue en Producción 6. Una vez tenemos la aplicación versionada en Nexus, Jenkins se encarga de desplegarla en un entorno de testing. 7. Es el momento de que las herramientas de testing funcional simulen cómo un usuario interacciona con la aplicación, para comprobar que ésta hace lo que se espera. 8. Si los tests funcionales son satisfactorios, Jenkins desplegará la aplicación en el entorno de producción, que es al que acceden los usuarios finales. 6. Despliegue en Testing
  • 10. 9. Ejecución y Operación 10 La aplicación desplegada en producción tiene que ser monitorizada para verificar su correcto funcionamiento. Nagios nos ayuda en la monitorización de la red, los servidores y la aplicación, alertando ante cualquier incidencia. ELK nos recopila los logs de los servidores y aplicación, para su análisis posterior. Ejecución Operación

Notas del editor

  1. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  2. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  3. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  4. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  5. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  6. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr
  7. Jenkins: automatizar todo el workflow. Gran versátil con pluggins para extender funcionalidades. Gran número de integraciones con múltiples proeveedores: Azure, Amazon… 1- Se genera un cambio 2. S ehancepruebas de integr