SlideShare uma empresa Scribd logo
1 de 21
Integración continua
Irene Comalada – atSistemas
Índice

1- Introducción
2- Procedimiento
3- Caso práctico
4- Conclusiones
5- Foro abierto
1. Introducción

Integración Continua
●   Objetivo: Realización de despliegues diarios o suficientemente a
    menudo como para justificar montar una estructura de despliegues,
    compilación y propagación de nuevas versiones.
●   Permite que la construcción y ejecución de pruebas sea realizada
    cada vez que el código cambia o cuando se configure.
●   Detección y solución de dependencias e incompatibilidades en el
    código.
●   El proceso de build diario minimiza los riesgos de integración porque
    los problemas son identificados continuamente.
●   Comprueba la calidad de código.
2. Procedimiento

IC - Procedimiento
●   Los desarrolladores del equipo hacen modificaciones en el código fuente, compilan y
    ejecutan las pruebas unitarias automatizadas y hacen el check-in (o commit) del
    código en la línea activa del desarrollo en la herramienta de control de versiones.

●   La herramienta de integración continua verifica si nuevo código se ha colocado en la
    línea activa del software de control de versiones.

●   La herramienta de integración continua extrae todo el código fuente y compila en el
    servidor de preproducción que tiene por objetivo generar builds limpios.

●   Si compila, se ejecuta: compilar y ejecutar pruebas unitarias, pruebas de aceptación,
    generar información de las pruebas, de la cobertura y de análisis estático de código.

●   Se actualizan los datos con los resultados.

●   La herramienta envía mensajes (por email) para el equipo informando el resultado del
    proceso de build durante la integración continua.
3. Caso práctico

Objetivos
                                               OBJETIVOS
                                               Descripción
  Reducción del número de errores encontrados en entornos de preproducción y producción.

  Automatizar la auditoría del código

  Reducción del Código inestable subido a SVN (con errores o incompleto)

  Reducir las colisiones en las modificaciones de código simulténo en trabajo de desarrollo en equipo

  Reducción del número de errores encontrados en entornos de preproducción y producción.

  Agilizar los procesos de despliegue de versión en los entornos.

  Cobertura de las pruebas unitarias

  Garantizar la ausencia de errores en los test de regresión

  Monitorización del cumplimiento de las buenas prácticas

  Reducir el tiempo del ciclo de vida de testeo .
3. Caso práctico

Pila tecnológica




                        Cobertura
3. Caso práctico

Tareas a realizar
●   Definición del plan de implantación.
●   Instalación de los productos: Jira, Jenkins, Nexus, Sonar, SVN.
●   Configuración de los productos.
●   Creación de las comunicaciones a medida.
●   Creación de reglas de validación a medida.
3. Caso práctico – Diagrama de sistemas



                                                   Oracle

 SVN failover                    SVN




Jenkins Slave
                Jenkins master          Jira                Sonar
                    Nexus




                                   Jira failover        Sonar failover
3. Caso práctico - Desarrollo



                                                                                       Internet

                                                Repostorio de
             IDE
                                            Artefactos Corporativo
   Repositorio Local Maven
                             Dependencias
                                                                                                              Repositorios Públicos
                                                                            Publica artefactos

                                                                     Dependencias

                                                      Notificaciones


             IDE
   Repositorio Local Maven                                           Etiqueta


          Cambios
Cambios
                                                                                    Servidor de Integración
                                                                                                                     Entorno de Pruebas
                                       Repositorio de Código                               Continua


            Consulta


                                                                           Gestiona Ejecución
                                        Servidor de Análisis
                                            de Calidad
3. Caso práctico - Despliegues



                                                                   Internet

                             Repostorio de
                         Artefactos Corporativo

                                                                                          Repositorios Públicos


                                     Recoge artefactos




         Petición de despliegue

                                                                              Despliega

        Actualización de resultado
Jira                                     Servidor de Integración                                 Entorno de Pruebas
                                                Continua
3. Caso práctico - Demostración

Jira
3. Caso práctico - Demostración

Jenkins
3. Caso práctico - Demostración

    Jenkins




●   Ofrece plugin de integración Jira: detecta el identificador de issue en el
    mensaje de confirmación y lo comenta con el resultado del build.
3. Caso práctico - Demostración

Bamboo



                  ●   A nivel de proyecto

                  ●   A nivel de versión
3. Caso práctico - Demostración

Nexus
3. Caso práctico - Demostración

  Sonar




Nota: no es una pantalla Sonar del proyecto real. No se ha obtenido el permiso
   necesario.
3. Caso práctico
                                      CONSECUCIÓN DE OBJETIVOS
Consecución                          Descripción                                      Métrica
              Reducción del número de errores encontrados en               Reducción del 75% de los errores
              entornos de preproducción y producción.
                                                                            En una posible nueva fase. Con
              Automatizar la auditoría del código
                                                                                      Selenium.
              Reducción del Código inestable subido a SVN (con errores
                                                                           Reducción del 50% de los errores
              o incompleto)
              Reducir las colisiones en las modificaciones de código
                                                                             Avisos y notificaciones mail
              simulténo en trabajo de desarrollo en equipo

              Control de dependencias con Maven                            Sistema transitivo y de herencias

              Agilizar los procesos de despliegue de versión en los Creación de workflows y despliegue
              entornos.                                                       según entorno

              Cobertura de las pruebas unitarias y ratio de éxito.                Métrica en Sonar

                                                                              En una posible nueva fase.
              Garantizar la ausencia de errores en los test de regresión
                                                                                    Con Selenium
                                                                                  Métrica en Sonar
              Monitorización del cumplimiento de las buenas prácticas

              Reuducir el tiempo del ciclo de vida de testeo .              Reducción del 50% del tiempo
4. Conclusiones

●   Tener métricas de la cálidad de código es vital para iniciar un
    proceso de mejora continua “No se puede mejorar aquello que no se
    puede medir”
●   Invertir en calidad de código es altamente rentable
●   Es posible mejorar la calidad del código a la vez que se desarrolla sin
    necesidad de parar el desarrollo
●   IC y TDD te permiten no sólo aumentar la calidad del código sino
    aumentar la productividad de todo el equipo de desarrollo
●   Asegurar la calidad código desarrollo es asegurar el éxito de la
    puesta en producción.
●   La formación y hacerse propia las herramientas y metodologías de
    trabajo son imprescindibles para garantizar un éxito duradero en
    el tiempo.
Foro abierto
http://kcy.me/e6eu
Muchas gracias por vuestra atención

Mais conteúdo relacionado

Mais procurados

De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando dockerChristian Rodriguez
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18Young Suk Ahn Park
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con JenkinsCésar Hernández
 
Testing con selenium
Testing con seleniumTesting con selenium
Testing con seleniummarianoshin
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerErnesto Cardenas Cangahuala
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientasJuan Diaz Calixtro
 
Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++victorconejo80
 
Descarga e instalación del entorno de desarrollo java net beans
Descarga e instalación del entorno de desarrollo java net beansDescarga e instalación del entorno de desarrollo java net beans
Descarga e instalación del entorno de desarrollo java net beansJuan Diaz Calixtro
 
Desenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptDesenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptSoftware Guru
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y BackEric Zeidan
 
Tema 1 mi primera aplicacion zk con netbeans y rem
Tema 1   mi primera aplicacion zk con netbeans y remTema 1   mi primera aplicacion zk con netbeans y rem
Tema 1 mi primera aplicacion zk con netbeans y remGiovanni Flores
 

Mais procurados (20)

De desarrollo a producción usando docker
De desarrollo a producción usando dockerDe desarrollo a producción usando docker
De desarrollo a producción usando docker
 
Selenium
SeleniumSelenium
Selenium
 
Breve introducción práctica al DevOps - (es) 2021_03_18
Breve introducción práctica al DevOps -  (es) 2021_03_18Breve introducción práctica al DevOps -  (es) 2021_03_18
Breve introducción práctica al DevOps - (es) 2021_03_18
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Integración contínua con Jenkins
Integración contínua con JenkinsIntegración contínua con Jenkins
Integración contínua con Jenkins
 
Testing con selenium
Testing con seleniumTesting con selenium
Testing con selenium
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Integración Continua usando Team Foundation Server
Integración Continua usando Team Foundation ServerIntegración Continua usando Team Foundation Server
Integración Continua usando Team Foundation Server
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientas
 
Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++
 
Descarga e instalación del entorno de desarrollo java net beans
Descarga e instalación del entorno de desarrollo java net beansDescarga e instalación del entorno de desarrollo java net beans
Descarga e instalación del entorno de desarrollo java net beans
 
spring-boot-es
spring-boot-esspring-boot-es
spring-boot-es
 
Desenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptDesenredando el toolchain de Javascript
Desenredando el toolchain de Javascript
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
 
Tema 1 mi primera aplicacion zk con netbeans y rem
Tema 1   mi primera aplicacion zk con netbeans y remTema 1   mi primera aplicacion zk con netbeans y rem
Tema 1 mi primera aplicacion zk con netbeans y rem
 

Destaque

Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)dev2ops
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Tracy Kennedy
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous DeliveryHervé Leclerc
 
OpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowOpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowWilliam Lee
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?CA Technologies
 
DevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's PerspectiveDevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's Perspectivedev2ops
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeSascha Möllering
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeGene Kim
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...CollabNet
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Andreas Rehn
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...Gene Kim
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014Jean-Charles JOREL
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsCollabNet
 
Docker Enables DevOps
Docker Enables DevOpsDocker Enables DevOps
Docker Enables DevOpsBoyd Hemphill
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN WorldCisco DevNet
 

Destaque (20)

Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)
 
Agnostic Continuous Delivery
Agnostic Continuous DeliveryAgnostic Continuous Delivery
Agnostic Continuous Delivery
 
Journey into dev ops
Journey into dev opsJourney into dev ops
Journey into dev ops
 
OpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowOpenSSL Basic Function Call Flow
OpenSSL Basic Function Call Flow
 
What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?What are the Cool Kids Doing With Continuous Delivery?
What are the Cool Kids Doing With Continuous Delivery?
 
DevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's PerspectiveDevOps & Security from an Enterprise Toolsmith's Perspective
DevOps & Security from an Enterprise Toolsmith's Perspective
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 
DOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - SonatypeDOES14 - Joshua Corman - Sonatype
DOES14 - Joshua Corman - Sonatype
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
DOES14 - Gary Gruver - Macy's - Transforming Traditional Enterprise Software ...
 
DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014DevOps@Morpho for ParisDevOps - 2nd of December 2014
DevOps@Morpho for ParisDevOps - 2nd of December 2014
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
Docker Enables DevOps
Docker Enables DevOpsDocker Enables DevOps
Docker Enables DevOps
 
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
JavaCro'14 - Continuous delivery of Java EE applications with Jenkins and Doc...
 
Enabing DevOps in an SDN World
Enabing DevOps in an SDN WorldEnabing DevOps in an SDN World
Enabing DevOps in an SDN World
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Semelhante a IC-Integración continua automatizada

Tecnicas de prueba y mantenimiento de software.ppsx
Tecnicas de prueba y mantenimiento de software.ppsxTecnicas de prueba y mantenimiento de software.ppsx
Tecnicas de prueba y mantenimiento de software.ppsxclean88
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareclean88
 
Rational Quilaty Management
Rational Quilaty ManagementRational Quilaty Management
Rational Quilaty ManagementLuis Reyes
 
Método cascada
Método cascadaMétodo cascada
Método cascadamariacebu
 
Método cascada
Método cascadaMétodo cascada
Método cascadamariacebu
 
Escribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team SystemEscribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team Systemjuliocasal
 
Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOpsAbel Quintana Lopez
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOpsjuanmdura
 
Validacion de la Solucion
Validacion de la SolucionValidacion de la Solucion
Validacion de la SolucionMario Solarte
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NETAngel Nuñez
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Globe Testing
 
Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Foquita05
 
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 continuoTestingUy
 
Ejecucion del Proyecto
Ejecucion del ProyectoEjecucion del Proyecto
Ejecucion del ProyectoMario Solarte
 
Silktest Tcm6 174179 Espanol
Silktest Tcm6 174179 EspanolSilktest Tcm6 174179 Espanol
Silktest Tcm6 174179 Espanoltitita13
 
Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloGastón Guillerón
 

Semelhante a IC-Integración continua automatizada (20)

Tecnicas de prueba y mantenimiento de software.ppsx
Tecnicas de prueba y mantenimiento de software.ppsxTecnicas de prueba y mantenimiento de software.ppsx
Tecnicas de prueba y mantenimiento de software.ppsx
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de software
 
Rational Quilaty Management
Rational Quilaty ManagementRational Quilaty Management
Rational Quilaty Management
 
Webinar Oracle Application Testing Suite
Webinar Oracle Application Testing SuiteWebinar Oracle Application Testing Suite
Webinar Oracle Application Testing Suite
 
Método cascada
Método cascadaMétodo cascada
Método cascada
 
Método cascada
Método cascadaMétodo cascada
Método cascada
 
Escribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team SystemEscribiendo Código con Visual Studio Team System
Escribiendo Código con Visual Studio Team System
 
Testing como parte de la cultura DevOps
Testing como parte de la cultura DevOpsTesting como parte de la cultura DevOps
Testing como parte de la cultura DevOps
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOps
 
Validacion de la Solucion
Validacion de la SolucionValidacion de la Solucion
Validacion de la Solucion
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
 
Novedades De Visual Studio 2010
Novedades De Visual Studio 2010Novedades De Visual Studio 2010
Novedades De Visual Studio 2010
 
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
 
Ejecucion del Proyecto
Ejecucion del ProyectoEjecucion del Proyecto
Ejecucion del Proyecto
 
03 proceso de desarrollo de software
03 proceso de desarrollo de software03 proceso de desarrollo de software
03 proceso de desarrollo de software
 
Silktest Tcm6 174179 Espanol
Silktest Tcm6 174179 EspanolSilktest Tcm6 174179 Espanol
Silktest Tcm6 174179 Espanol
 
Modelo v y cascada
Modelo v y cascadaModelo v y cascada
Modelo v y cascada
 
Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para Desarrollo
 

Mais de atSistemas

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassianatSistemas
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital atSistemas
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021atSistemas
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.atSistemas
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureatSistemas
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipoatSistemas
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialatSistemas
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación AgileatSistemas
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación culturalatSistemas
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSatSistemas
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezatSistemas
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraatSistemas
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloatSistemas
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaatSistemas
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatatSistemas
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezatSistemas
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasatSistemas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezatSistemas
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolatSistemas
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezatSistemas
 

Mais de atSistemas (20)

Agile itsm con atlassian
Agile itsm con atlassianAgile itsm con atlassian
Agile itsm con atlassian
 
Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital Bizz Chat metamorfosis digital
Bizz Chat metamorfosis digital
 
Webinar 5 net5-2021
Webinar 5 net5-2021Webinar 5 net5-2021
Webinar 5 net5-2021
 
Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.Webinar Speed Up Academy: Acelera la incorporación de talento.
Webinar Speed Up Academy: Acelera la incorporación de talento.
 
Webinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en AzureWebinar: Descubre los diferentes servicios Cloud Native en Azure
Webinar: Descubre los diferentes servicios Cloud Native en Azure
 
El futuro del trabajo en equipo
El futuro del trabajo en equipoEl futuro del trabajo en equipo
El futuro del trabajo en equipo
 
La tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarialLa tecnología al servicio de la agilidad empresarial
La tecnología al servicio de la agilidad empresarial
 
Transformación Agile
Transformación AgileTransformación Agile
Transformación Agile
 
Transformación cultural
Transformación culturalTransformación cultural
Transformación cultural
 
Technical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWSTechnical considerations for Blockchain networks with AWS
Technical considerations for Blockchain networks with AWS
 
Blockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel MartínezBlockchain Spain II Edición - Ángel Miguel Martínez
Blockchain Spain II Edición - Ángel Miguel Martínez
 
Blockchain Spain - Néstor Gándara
Blockchain Spain - Néstor GándaraBlockchain Spain - Néstor Gándara
Blockchain Spain - Néstor Gándara
 
Blockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis GozaloBlockchain Spain - Juan Luis Gozalo
Blockchain Spain - Juan Luis Gozalo
 
Blockchain Spain - Ramón Abruña
Blockchain Spain - Ramón AbruñaBlockchain Spain - Ramón Abruña
Blockchain Spain - Ramón Abruña
 
Blockchain Spain - Santiago Chamat
Blockchain Spain - Santiago ChamatBlockchain Spain - Santiago Chamat
Blockchain Spain - Santiago Chamat
 
Blockchain Spain - Antonio Gómez
Blockchain Spain - Antonio GómezBlockchain Spain - Antonio Gómez
Blockchain Spain - Antonio Gómez
 
Blockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel RojasBlockchain Spain - Miguel Ángel Rojas
Blockchain Spain - Miguel Ángel Rojas
 
Blockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés SánchezBlockchain Spain - Andrés Sánchez
Blockchain Spain - Andrés Sánchez
 
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, RepsolBlockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
Blockchain Spain II Edición - Autoridad Portuaria de Cartagena, Ilboc, Repsol
 
Blockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel MartínezBlockchain Spain II Edición - Juan Manuel Martínez
Blockchain Spain II Edición - Juan Manuel Martínez
 

IC-Integración continua automatizada

  • 2. Índice 1- Introducción 2- Procedimiento 3- Caso práctico 4- Conclusiones 5- Foro abierto
  • 3. 1. Introducción Integración Continua ● Objetivo: Realización de despliegues diarios o suficientemente a menudo como para justificar montar una estructura de despliegues, compilación y propagación de nuevas versiones. ● Permite que la construcción y ejecución de pruebas sea realizada cada vez que el código cambia o cuando se configure. ● Detección y solución de dependencias e incompatibilidades en el código. ● El proceso de build diario minimiza los riesgos de integración porque los problemas son identificados continuamente. ● Comprueba la calidad de código.
  • 4. 2. Procedimiento IC - Procedimiento ● Los desarrolladores del equipo hacen modificaciones en el código fuente, compilan y ejecutan las pruebas unitarias automatizadas y hacen el check-in (o commit) del código en la línea activa del desarrollo en la herramienta de control de versiones. ● La herramienta de integración continua verifica si nuevo código se ha colocado en la línea activa del software de control de versiones. ● La herramienta de integración continua extrae todo el código fuente y compila en el servidor de preproducción que tiene por objetivo generar builds limpios. ● Si compila, se ejecuta: compilar y ejecutar pruebas unitarias, pruebas de aceptación, generar información de las pruebas, de la cobertura y de análisis estático de código. ● Se actualizan los datos con los resultados. ● La herramienta envía mensajes (por email) para el equipo informando el resultado del proceso de build durante la integración continua.
  • 5. 3. Caso práctico Objetivos OBJETIVOS Descripción Reducción del número de errores encontrados en entornos de preproducción y producción. Automatizar la auditoría del código Reducción del Código inestable subido a SVN (con errores o incompleto) Reducir las colisiones en las modificaciones de código simulténo en trabajo de desarrollo en equipo Reducción del número de errores encontrados en entornos de preproducción y producción. Agilizar los procesos de despliegue de versión en los entornos. Cobertura de las pruebas unitarias Garantizar la ausencia de errores en los test de regresión Monitorización del cumplimiento de las buenas prácticas Reducir el tiempo del ciclo de vida de testeo .
  • 6. 3. Caso práctico Pila tecnológica Cobertura
  • 7. 3. Caso práctico Tareas a realizar ● Definición del plan de implantación. ● Instalación de los productos: Jira, Jenkins, Nexus, Sonar, SVN. ● Configuración de los productos. ● Creación de las comunicaciones a medida. ● Creación de reglas de validación a medida.
  • 8. 3. Caso práctico – Diagrama de sistemas Oracle SVN failover SVN Jenkins Slave Jenkins master Jira Sonar Nexus Jira failover Sonar failover
  • 9. 3. Caso práctico - Desarrollo Internet Repostorio de IDE Artefactos Corporativo Repositorio Local Maven Dependencias Repositorios Públicos Publica artefactos Dependencias Notificaciones IDE Repositorio Local Maven Etiqueta Cambios Cambios Servidor de Integración Entorno de Pruebas Repositorio de Código Continua Consulta Gestiona Ejecución Servidor de Análisis de Calidad
  • 10. 3. Caso práctico - Despliegues Internet Repostorio de Artefactos Corporativo Repositorios Públicos Recoge artefactos Petición de despliegue Despliega Actualización de resultado Jira Servidor de Integración Entorno de Pruebas Continua
  • 11. 3. Caso práctico - Demostración Jira
  • 12. 3. Caso práctico - Demostración Jenkins
  • 13. 3. Caso práctico - Demostración Jenkins ● Ofrece plugin de integración Jira: detecta el identificador de issue en el mensaje de confirmación y lo comenta con el resultado del build.
  • 14. 3. Caso práctico - Demostración Bamboo ● A nivel de proyecto ● A nivel de versión
  • 15. 3. Caso práctico - Demostración Nexus
  • 16. 3. Caso práctico - Demostración Sonar Nota: no es una pantalla Sonar del proyecto real. No se ha obtenido el permiso necesario.
  • 17. 3. Caso práctico CONSECUCIÓN DE OBJETIVOS Consecución Descripción Métrica Reducción del número de errores encontrados en Reducción del 75% de los errores entornos de preproducción y producción. En una posible nueva fase. Con Automatizar la auditoría del código Selenium. Reducción del Código inestable subido a SVN (con errores Reducción del 50% de los errores o incompleto) Reducir las colisiones en las modificaciones de código Avisos y notificaciones mail simulténo en trabajo de desarrollo en equipo Control de dependencias con Maven Sistema transitivo y de herencias Agilizar los procesos de despliegue de versión en los Creación de workflows y despliegue entornos. según entorno Cobertura de las pruebas unitarias y ratio de éxito. Métrica en Sonar En una posible nueva fase. Garantizar la ausencia de errores en los test de regresión Con Selenium Métrica en Sonar Monitorización del cumplimiento de las buenas prácticas Reuducir el tiempo del ciclo de vida de testeo . Reducción del 50% del tiempo
  • 18. 4. Conclusiones ● Tener métricas de la cálidad de código es vital para iniciar un proceso de mejora continua “No se puede mejorar aquello que no se puede medir” ● Invertir en calidad de código es altamente rentable ● Es posible mejorar la calidad del código a la vez que se desarrolla sin necesidad de parar el desarrollo ● IC y TDD te permiten no sólo aumentar la calidad del código sino aumentar la productividad de todo el equipo de desarrollo ● Asegurar la calidad código desarrollo es asegurar el éxito de la puesta en producción. ● La formación y hacerse propia las herramientas y metodologías de trabajo son imprescindibles para garantizar un éxito duradero en el tiempo.
  • 21. Muchas gracias por vuestra atención