Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

41
DevOps Práctico para Plataformas Java y Web 16 de marzo de 2016

Transcript of Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

Page 1: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

DevOps Práctico paraPlataformas Java y Web16 de marzo de 2016

Page 2: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

Copyright © 2016 Accenture All rights reserved. 2

Jorge Hidalgo@_deors

Sobre nosotrosVicente González

@viarellanoJulio Palma @restalion

Trabajamos en Coritel, empresa del grupo Accentureoficina de Málaga – Accenture Delivery Center in Spain

formamos parte de los grupos global y local de Java y DevOps en Accenture

Page 3: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

3Copyright © 2016 Accenture All rights reserved.

Workshop (primera parte)

Page 4: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

4Copyright © 2016 Accenture All rights reserved.

Guía para el taller – Descarga desde GitHub• Buscar en Google GitHub Accenture o entrar directamente a https://github.com/Accenture.

• En la página de GitHub buscar el proyecto adop-docker-compose• Copiar la URL del clonado desde la página de GitHub.

Page 5: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

5Copyright © 2016 Accenture All rights reserved.

Guía para el taller – Descarga desde GitHub• Buscar en Google GitHub Accenture o entrar directamente a https://github.com/Accenture.

• En la página de GitHub buscar el proyecto adop-docker-compose• Copiar la URL del clonado desde la página de GitHub.

• Desde un interfaz de comandos ejecutar la instrucción git-bash

Page 6: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

6Copyright © 2016 Accenture All rights reserved.

Guía para el taller – Descarga desde GitHub• Buscar en Google GitHub Accenture o entrar directamente a https://github.com/Accenture.

• En la página de GitHub buscar el proyecto adop-docker-compose• Copiar la URL del clonado desde la página de GitHub.

• Desde un interfaz de comandos ejecutar la instrucción git-bash• En el bash clonar el proyecto:

– Ir a la ruta C:\HackersWeek\devops

– Teclear git clone <URL>

Page 7: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

7Copyright © 2016 Accenture All rights reserved.

Guía para el taller – Descarga desde GitHub• Buscar en Google GitHub Accenture o entrar directamente a https://github.com/Accenture.

• En la página de GitHub buscar el proyecto adop-docker-compose• Copiar la URL del clonado desde la página de GitHub.

• Desde un interfaz de comandos ejecutar la instrucción git-bash• En el bash clonar el proyecto:

– Ir a la ruta C:\HackersWeek\devops

– Teclear git clone <URL>

• Si todo ha ido bien en el directorio existe un subdirectorio llamado adop-docker-compose.

• Dentro de ese directorio copiamos el script que está en la ruta C:\HackersWeek\devops:

– La mitad de las máquinas: hw3-setup-zona1.sh

– La otra mitad: hw3-setup-zona2.sh

• Ejecutamos el script, pasándole como parámetro el número del PC (mirad la etiqueta sobre la torre), el script creará una VM en Amazon Web Services para cada uno, y empezará a descargarse todo el contenido de ADOP.

Page 8: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

8Copyright © 2016 Accenture All rights reserved.

¿Qué es DevOps?

Page 9: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

9

¿Qué es DevOps?DevOps es una estrategia dedicada a promover la colaboración,

eliminando las fricciones entre los equipos de Desarrollo y Operaciones

Copyright © 2016 Accenture All rights reserved.

Desarrollo Operaciones

DevO

ps

Dev quiere cambios

Ops quiere estabilidad

Todos quieren...

Software estable y operableProcesos de entregas optimizados y consistentesCumplimiento de estándares (infraestructura, plataforma)Bajo riesgo y gran cantidad de cambiosCódigo confiable e integridad del softwareAlta disponibilidad y entornos predecibles

Page 10: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

10

Principios de DevOps

Copyright © 2016 Accenture All rights reserved.

Prácticas de gestión de la configuración sólidas

Despliegue continuo de valor de negocio (Lean IT)

Automatización de pruebasPrueba continua

Flujos de trabajoEntrega continua

Arquitectura de grano finoMicro-servicios

Colaboración y empatíaSin silos o juegos de la culpaConstrucción y despliegue automático

Recursos elásticosCloud

Diseño robusto y resilienciaDegradación gradualExperimentación oportunistaMejora continua

Page 11: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

11Copyright © 2016 Accenture All rights reserved.

Accenture DevOps Platform

Page 12: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

12

Accenture DevOps Platform

Copyright © 2016 Accenture All rights reserved.

Hosting en cloud y accesso a los servicios de aplicación usando una plataforma cloud aprobada por Accenture

Release

Dev. Source Control

Code Review Build Code

Quality Deploy Testing A-B Test

ADOP es una plataforma de desarrollo basado en la nube, une una colección integrada de herramientas Open Source para el desarrollo, despliegue y control de aplicaciones usando las mejores prácticas de DevOps. ADOP puede provisionarse en menos de 10 minutos, permite a los proyectos una configuración rápida de pipelines y entornos, reduciendo el coste de desarrollo, prueba y entrega de código.

Los recursos y herramientas soportan el proceso y las entregas de calidad

Beneficios

Entrega con ConfianzaTiempo a mercado Riesgo de los Cambios

• Nuevas características entregadas en días o semanas no meses

• La experimentación continua permite que los servicios se mejoren continuamente

• Las métricas permiten mejorar la productividad

• Los cambios se introducen en tiempo real y son fáciles de revertir

• Las pruebas se ejecutan en entornos representativos configurados automáticamente

• Eliminación de los fallos de regresión

• Gestión de la liberación de nuevas características

• Métricas centradas en el negocio que permiten un control en tiempo real del servicio

• Vulnerabilidades de seguridad identificadas en tiempo de construcción

Page 13: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

13Copyright © 2016 Accenture All rights reserved.

Accenture DevOps Platform es un Proyecto OpenSource

Se trata de un proyecto Open Source, contribuido por Accenture, bajo licencia de Apache.

Disponible en GitHub se puede descargar, modificar, contribuir… Pull Requests are welcomed!!

Page 14: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

14Copyright © 2016 Accenture All rights reserved.

Herramientas de ADOP

Page 15: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

15

Gerrit

• Gerrit proporciona una herramienta web de revisión de código y gestión del repositorio para el sistema de control de versiones Git.

Copyright © 2016 Accenture All rights reserved.

Page 16: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

16

Gerrit

• Gerrit proporciona una herramienta web de revisión de código y gestión del repositorio para el sistema de control de versiones Git.

• Permite discutir las modificaciones en el código.

– Revisa las versiones antiguas y nuevas del código con marcas de colores. Permite discutir secciones específicas con otros desarrolladores para hacer los cambios correctos.

Copyright © 2016 Accenture All rights reserved.

Page 17: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

17

Gerrit

• Gerrit proporciona una herramienta web de revisión de código y gestión del repositorio para el sistema de control de versiones Git.

• Permite discutir las modificaciones en el código.

– Revisa las versiones antiguas y nuevas del código con marcas de colores. Permite discutir secciones específicas con otros desarrolladores para hacer los cambios correctos.

• Gestionar y servir repositorios Git

– Gerrit incluye servidores Git compatibles con todos los clientes Git accesibles vía SSH o HTTPS.

– Simplifica la gestión alojando varios repositorios Git juntos.

Copyright © 2016 Accenture All rights reserved.

Page 18: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

18

Jenkins

• La integración continua consiste en tener todo el trabajo de desarrollo integrado de forma que en base a una planificación o evento el trabajo se construye y prueba automáticamente. La idea es que los errores de desarrollo se detecten lo antes posible en el proceso.

• Los siguientes pasos explican a alto nivel cómo es el ciclo de vida del desarrollo con integración continua:

Copyright © 2016 Accenture All rights reserved.

Page 19: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

19

Selenium Grid

• Selenium automatiza los navegadores. Principalmente se utiliza para automatizar aplicaciones web para realizar pruebas, pero no está limitado a eso. Tareas de administración repetitivas basadas en herramientas web pueden (y deben) automatizarse.

• El principal cambio reciente en Selenium ha sido la inclusión del API Web Driver. Esto nos permite manejar nativamente el navegador de forma local o remota usando Selenium Server, es un gran paso adelante en términos de automatización.

• WebDriver se diseñó como un interfaz de programación más simple y concisa que permite evitar algunas limitaciones del API Selenium-RC.

• Se trata de una API Orientada a Objetos.

• Maneja el navegador de forma mucho más efectiva y supera las limitaciones de Selenium 1.x que afectan a al cobertura de nuestros test funcionales, como por ejemplo la descarga o subida de ficheros, pop-ups y diálogos.

Copyright © 2016 Accenture All rights reserved.

Page 20: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

20

SonarQube

• SonarQube nos permite realizar un control continuo de la calidad técnica del código fuente y ejecutar pruebas unitarias automáticas.

• Soporta más de 20 lenguajes de programación diferentes, incluyendo Java, C#, C/C++, Objective-C, PL/SQL…

Copyright © 2016 Accenture All rights reserved.

Page 21: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

21

Docker

• Docker nos permite empaquetar nuestra aplicación con todas sus dependencias en unidades estandarizadas.

– Los contenedores Docker “envuelven” un trozo de software dentro de un sistema de ficheros completo que contiene todo lo necesario para su ejecución: código, runtime, herramientas y librerías de sistema (cualquier cosa que puedas instalar en un servidor)

– Esto garantiza que siempre ejecutas lo mismo, sin importar el entorno en el que lo ejecutas.

Copyright © 2016 Accenture All rights reserved.

Page 22: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

22

Docker

• Docker nos permite empaquetar nuestra aplicación con todas sus dependencias en unidades estandarizadas.

• Características:

– Ligero

• Los contenedores que se ejecutan en la misma máquina comparten el mismo kernel del sistema operativo de forma que arrancan instantáneamente y realizan un uso más eficiente de la RAM.

• Las imágenes se construyen como sistema de ficheros por capas de forma que compartan ficheros comunes, así se logra un uso más eficiente de la capacidad del disco y las descargas.

– Abierto

• Los contenedores se basan en estándares abiertos permitiendo a los contenedores ejecutarse en la mayoría de distribuciones Linux y sistemas operativos de Microsoft.

– Seguro

• Los contenedores aíslan las aplicaciones unas de otras y de la infraestructura mientras proveen a la aplicación de una nueva capa de protección.

Copyright © 2016 Accenture All rights reserved.

Page 23: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

23Copyright © 2016 Accenture All rights reserved.

Workshop (segunda parte)

Page 24: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

24

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

Copyright © 2016 Accenture All rights reserved.

Page 25: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

25

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

– Así añadimos la información de la máquina al entorno, para que sea utilizada por docker.

Copyright © 2016 Accenture All rights reserved.

Page 26: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

26

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

Copyright © 2016 Accenture All rights reserved.

Page 27: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

27

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

– Debemos ver la página de inicio de ADOP con todas las herramientas disponibles.

Copyright © 2016 Accenture All rights reserved.

Page 28: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

28

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

Copyright © 2016 Accenture All rights reserved.

Page 29: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

29

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

Copyright © 2016 Accenture All rights reserved.

Page 30: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

30

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

Copyright © 2016 Accenture All rights reserved.

Page 31: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

31

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

Copyright © 2016 Accenture All rights reserved.

Page 32: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

32

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

Copyright © 2016 Accenture All rights reserved.

Page 33: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

33

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

Copyright © 2016 Accenture All rights reserved.

Page 34: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

34

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job .

• Comprobamos que en preproducción se han subido los cambios.

Copyright © 2016 Accenture All rights reserved.

Page 35: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

35

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

• Comprobamos que en preproducción se han subido los cambios.

• Creamos un nuevo entorno de producción, añadimos un job de despliegue en producción y ejecutamos el job.

Copyright © 2016 Accenture All rights reserved.

Page 36: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

36

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

• Comprobamos que en preproducción se han subido los cambios.

• Creamos un nuevo entorno de producción, añadimos un job de despliegue en producción y ejecutamos el job.

• Comprobamos que en producción se han subido los cambios.

Copyright © 2016 Accenture All rights reserved.

Page 37: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

37

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

• Comprobamos que en preproducción se han subido los cambios.

• Creamos un nuevo entorno de producción, añadimos un job de despliegue en producción y ejecutamos el job.

• Comprobamos que en producción se han subido los cambios.

• Realizamos un cambio “con error” en el código y lo subimos al repositorio con commit/push

Copyright © 2016 Accenture All rights reserved.

Page 38: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

38

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

• Comprobamos que en preproducción se han subido los cambios.

• Creamos un nuevo entorno de producción, añadimos un job de despliegue en producción y ejecutamos el job.

• Comprobamos que en producción se han subido los cambios.

• Realizamos un cambio “con error” en el código y lo subimos al repositorio con commit/push

• Ejecutamos el pipeline y subimos hasta producción, vemos el error.

Copyright © 2016 Accenture All rights reserved.

Page 39: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

39

Guía para el taller• Al finalizar la ejecución del script ha mostrar un mensaje indicando que ha sido correcta.

• Ejecutamos las dos instrucciones que nos indica el script.

• Comprobamos que la imagen se ha montado correctamente con docker-machine ls.

• Accedemos a la URL de nuestra máquina tal y como nos indica el script.

• Desde Jenkins creamos un nuevo job de despliegue en CI.

• Lanzamos el pipeline y comprobamos la información del build y la aplicación.

• Clonamos el repositorio en Gerrit.

• Realizamos una modificación (por ejemplo añadiendo un mensaje en el jsp de inicio) y lo subimos con commit/push

• Lanzamos el pipeline y comprobamos que el cambio se ha subido a CI

• Creamos un nuevo entorno de preproducción, añadimos un job de despliegue en preproducción y ejecutamos el job.

• Comprobamos que en preproducción se han subido los cambios.

• Creamos un nuevo entorno de producción, añadimos un job de despliegue en producción y ejecutamos el job.

• Comprobamos que en producción se han subido los cambios.

• Realizamos un cambio “con error” en el código y lo subimos al repositorio con commit/push

• Ejecutamos el pipeline y subimos hasta producción, vemos el error.

• Realizamos un rollback del cambio y desplegamos en producción la versión anterior.

Copyright © 2016 Accenture All rights reserved.

Page 40: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

40

Preguntas

Copyright © 2016 Accenture All rights reserved.

Page 41: Hackers Week 3.0 - DevOps Práctico Java-Web 2016-03-16

41

¡Muchas gracias por asistir!

Copyright © 2016 Accenture All rights reserved.

https://www.coritel.eshttps://github.com/Accenture

https://twitter.com/_deorshttps://twitter.com/viarellanohttps://twitter.com/restalion