SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Integración Continua
CI (continuous integration)
http://es.wikipedia.org
La integración continua (continuous integration en inglés)
es un modelo informático propuesto inicialmente por Martin
Fowler que consiste en hacer integraciones automáticas de
un proyecto lo más a menudo posible para así poder
detectar fallos cuanto antes. Entendemos por integración la
compilación y ejecución de pruebas de todo un proyecto.
¿Quien es Martin Fowler?
Él --->
http://es.wikipedia.org/wiki/Martin_Fowler
¿Qué es CI?
Es una práctica de desarrollo, consiste en subir
el código a un repositorio varias veces al día.
Cada subida es verificada por un proceso
automatizado permitiendo que los equipos
detecten los problemas a tiempo.
¿Que beneficios tiene CI?
● Reducir riesgos y tiempo
● Reducir procesos repetitivos manuales
● Crear una versión de software mediante un proceso
conocido, confiable, probado, versionado y
repetible.
● Mejorar la visibilidad del estado del proyecto.
● Lograr una mayor autoconfianza y seguridad en el
equipo de desarrollo.
● Mejorar la calidad de código.
CI no garantiza que funcione todo en PROD.
Pero sí minimiza riesgos y garantiza
el control de determinadas tareas en
cada nueva entrada al repositorio.
¿Qué herramientas usar para implementar CI ?
http://www.continuousintegrationtools.com/?opensource
Las vedettes:
Jenkins (https://jenkins-ci.org/) Plugin para Jira
Travis CI (https://travis-ci.org/)
Bamboo (https://es.atlassian.com/software/bamboo)← by Atlassian
Los usos más populares:
● Validar Sintaxis.
● Validar estilo de codigo (Code Style).
● Ejecutar Test Unitarios/Funcionales/Integración.
● Automatización de despliegue. (Deploy).
● Automatizar mantenimiento y despliegue de
entornos a otras unidades de negocio.
Jenkins
http://es.wikipedia.org
Jenkins es un software de Integración continua
open source escrito en Java. Proporciona
integración continua para el desarrollo de
software. Es un sistema corriendo en un servidor
como Apache Tomcat. Soporta herramientas de
control de versiones como CVS, Subversion, Git ...
¿Porqué Jenkins?
● Jenkins tiene una suite de plugins que
permite enfocarse en el proceso a
automatizar.
● Tiene un desarrollo activo, ya esta la
segunda versión.
● Encontrar soporte de otros usuarios por su
popularidad.
● Tiene el plugin de Chuck Norris.
Instalacion de Jenkins
Debian:
Agregar apt key:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
Agregar sources list:
echo deb http://pkg.jenkins-ci.org/debian binary/ >> /etc/apt/sources.list.d/jenkins.list
Actualizar e instalar:
sudo apt-get update
sudo apt-get install jenkins
http://pkg.jenkins-ci.org/debian/
Configurar la primer tarea en Jenkins
- Indicar el nombre.
- Una breve descripción.
- Cuantas versiones almacenar.
- Agregar un repositorio.
- Indicar que debe monitorear.
- Cada cuanto monitorear.
- Las tareas a realizar en cada ejecución.
- Indicar a quien notificar.
Practica...
Eso es todo!
Mariano G. Egui
@EguiMariano
egui.mariano@gmail.com

Más contenido relacionado

La actualidad más candente

Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using SeleniumWeifeng Zhang
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Simplilearn
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.pptAna Sarbescu
 
Playwright Begginers Presentation
Playwright Begginers PresentationPlaywright Begginers Presentation
Playwright Begginers PresentationFranPerea6
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with seleniumTzirla Rozental
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentChristopher Read
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing PyramidNaresh Jain
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersAmazon Web Services
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing ToolZeba Tahseen
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 

La actualidad más candente (20)

Introduction to Selenium Web Driver
Introduction to Selenium Web DriverIntroduction to Selenium Web Driver
Introduction to Selenium Web Driver
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Selenium
SeleniumSelenium
Selenium
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
Selenium WebDriver Tutorial | Selenium WebDriver Tutorial For Beginner | Sele...
 
CI/CD
CI/CDCI/CD
CI/CD
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
Playwright Begginers Presentation
Playwright Begginers PresentationPlaywright Begginers Presentation
Playwright Begginers Presentation
 
Automation - web testing with selenium
Automation - web testing with seleniumAutomation - web testing with selenium
Automation - web testing with selenium
 
Design System
Design SystemDesign System
Design System
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
 
Automated Deployments
Automated DeploymentsAutomated Deployments
Automated Deployments
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Inverting The Testing Pyramid
Inverting The Testing PyramidInverting The Testing Pyramid
Inverting The Testing Pyramid
 
Integración Continua
Integración ContinuaIntegración Continua
Integración Continua
 
Building a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containersBuilding a CICD pipeline for deploying to containers
Building a CICD pipeline for deploying to containers
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 

Destacado

2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continuaJuan José Guerra Martín
 
Tech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in AgileTech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in AgileSantex Group
 
Enterprise agile antipatterns
Enterprise agile antipatternsEnterprise agile antipatterns
Enterprise agile antipatternsFederico Zuppa
 
Tests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooTests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooFernando Llaca Romero
 
Informix REST API Tutorial
Informix REST API TutorialInformix REST API Tutorial
Informix REST API TutorialBrian Hughes
 
Electricity & Magnetism
Electricity & MagnetismElectricity & Magnetism
Electricity & Magnetismitutor
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonarRocío Muñoz
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingCarlos Sanchez
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
 

Destacado (11)

2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua2011 04 ecosistemas software de soporte a la integración continua
2011 04 ecosistemas software de soporte a la integración continua
 
Tech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in AgileTech Meetup - Agile testing vs Testing in Agile
Tech Meetup - Agile testing vs Testing in Agile
 
Enterprise agile antipatterns
Enterprise agile antipatternsEnterprise agile antipatterns
Enterprise agile antipatterns
 
Tests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y BambooTests de integración automatizados con Docker y Bamboo
Tests de integración automatizados con Docker y Bamboo
 
Bibliografia Gestión Ágil de Proyectos
Bibliografia Gestión Ágil de ProyectosBibliografia Gestión Ágil de Proyectos
Bibliografia Gestión Ágil de Proyectos
 
Informix REST API Tutorial
Informix REST API TutorialInformix REST API Tutorial
Informix REST API Tutorial
 
INDIZEN - DEVOPS
INDIZEN - DEVOPSINDIZEN - DEVOPS
INDIZEN - DEVOPS
 
Electricity & Magnetism
Electricity & MagnetismElectricity & Magnetism
Electricity & Magnetism
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 

Similar a CI integración continua

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 softwareJose Manuel Ortega Candel
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles2009
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...adrianeidelman
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins armolinamilla
 
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
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Gustavo Veliz
 
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
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
DevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaDevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaatSistemas
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOpsjuanmdura
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsavanttic Consultoría Tecnológica
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioOsvaldo
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioOsvaldo
 
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NETPruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NETLa Red DBAccess
 

Similar a CI integración continua (20)

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
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins
 
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
 
Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)Presentacion de integracion continua (lima agile)
Presentacion de integracion continua (lima agile)
 
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
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
DevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-HoplaDevOps Spain 2019. Luis hernández-Hopla
DevOps Spain 2019. Luis hernández-Hopla
 
Xamarin Fest DevOps
Xamarin Fest DevOpsXamarin Fest DevOps
Xamarin Fest DevOps
 
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOpsWebinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
Webinar - Moderniza tu proceso de desarrollo con Oracle Cloud y DevOps
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NETPruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
 
Las mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de softwareLas mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de software
 

Último

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

CI integración continua

  • 2. http://es.wikipedia.org La integración continua (continuous integration en inglés) es un modelo informático propuesto inicialmente por Martin Fowler que consiste en hacer integraciones automáticas de un proyecto lo más a menudo posible para así poder detectar fallos cuanto antes. Entendemos por integración la compilación y ejecución de pruebas de todo un proyecto.
  • 3. ¿Quien es Martin Fowler? Él ---> http://es.wikipedia.org/wiki/Martin_Fowler
  • 4. ¿Qué es CI? Es una práctica de desarrollo, consiste en subir el código a un repositorio varias veces al día. Cada subida es verificada por un proceso automatizado permitiendo que los equipos detecten los problemas a tiempo.
  • 6. ● Reducir riesgos y tiempo ● Reducir procesos repetitivos manuales ● Crear una versión de software mediante un proceso conocido, confiable, probado, versionado y repetible. ● Mejorar la visibilidad del estado del proyecto. ● Lograr una mayor autoconfianza y seguridad en el equipo de desarrollo. ● Mejorar la calidad de código.
  • 7. CI no garantiza que funcione todo en PROD.
  • 8. Pero sí minimiza riesgos y garantiza el control de determinadas tareas en cada nueva entrada al repositorio.
  • 9. ¿Qué herramientas usar para implementar CI ? http://www.continuousintegrationtools.com/?opensource Las vedettes: Jenkins (https://jenkins-ci.org/) Plugin para Jira Travis CI (https://travis-ci.org/) Bamboo (https://es.atlassian.com/software/bamboo)← by Atlassian
  • 10. Los usos más populares: ● Validar Sintaxis. ● Validar estilo de codigo (Code Style). ● Ejecutar Test Unitarios/Funcionales/Integración. ● Automatización de despliegue. (Deploy). ● Automatizar mantenimiento y despliegue de entornos a otras unidades de negocio.
  • 12. http://es.wikipedia.org Jenkins es un software de Integración continua open source escrito en Java. Proporciona integración continua para el desarrollo de software. Es un sistema corriendo en un servidor como Apache Tomcat. Soporta herramientas de control de versiones como CVS, Subversion, Git ...
  • 13. ¿Porqué Jenkins? ● Jenkins tiene una suite de plugins que permite enfocarse en el proceso a automatizar. ● Tiene un desarrollo activo, ya esta la segunda versión. ● Encontrar soporte de otros usuarios por su popularidad. ● Tiene el plugin de Chuck Norris.
  • 14. Instalacion de Jenkins Debian: Agregar apt key: wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - Agregar sources list: echo deb http://pkg.jenkins-ci.org/debian binary/ >> /etc/apt/sources.list.d/jenkins.list Actualizar e instalar: sudo apt-get update sudo apt-get install jenkins http://pkg.jenkins-ci.org/debian/
  • 15. Configurar la primer tarea en Jenkins - Indicar el nombre. - Una breve descripción. - Cuantas versiones almacenar. - Agregar un repositorio. - Indicar que debe monitorear. - Cada cuanto monitorear. - Las tareas a realizar en cada ejecución. - Indicar a quien notificar.
  • 17. Eso es todo! Mariano G. Egui @EguiMariano egui.mariano@gmail.com