betabeers - continuous deployment

21
Continuous Deployment super-vitaminado gracias a Microsoft Azure Entornos de trabajo automatizados

Upload: fernando-escolar-martinez-berganza

Post on 19-Feb-2017

273 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Betabeers - continuous deployment

Continuous Deploymentsuper-vitaminado gracias a Microsoft AzureEntornos de trabajo automatizados

Page 2: Betabeers - continuous deployment

Fernando EscolarDevelopment & Cloud Lead [email protected]@fernandoescolar

Page 3: Betabeers - continuous deployment

TOKIOTA, the Microsoft leading partner for innovative technology solutions, empowering our customers while taking care of our people.

Page 4: Betabeers - continuous deployment

Un día cualquiera…

Page 5: Betabeers - continuous deployment

Hoy toca puesta en producción…

Page 6: Betabeers - continuous deployment

Y en la oficina… el duelo• Negación:

• ”En mi maquina funciona”

• Negociación:• Vamos a forzar que los tests “pasen”• QA no ha validado esa “feature”. Se queda fuera.

• Depresión:• Tenemos dos horas para un merge y no nos va a dar tiempo• La persona que hace el deploy tarda 4h. si no hay problemas• Tenemos una ventana de 6h. para hacer la subida

• Ira:• La culpa es del commit de “fulano”. Encima hoy se ha ido pronto a casa…

• Aceptación:• Este fin de semana me va a tocar trabajar

Page 7: Betabeers - continuous deployment
Page 8: Betabeers - continuous deployment

Continuous Integration• Mantener un solo repositorio de código fuente• Automatizar la “build”• Automatizar los “tests” dentro de la “build”• Todo el mundo hace “commit(s)” cada día• Todo “commit” lanza una “build” en una máquina de integración• Mantener la “build” rápida• Probar la aplicación en una “copia” del entorno de producción

Page 9: Betabeers - continuous deployment

Continuous Delivery• La entrega e implementación del software debe ser repetible y fiable• Automatizar todo• Si algo es duro o difícil, hacerlo más a menudo • Mantener todo en control de código fuente• Hecho significa publicado | Done = Released• Construir con calidad• Todo el mundo es responsable del proceso de publicación• Mejora continua

Page 10: Betabeers - continuous deployment

Continuous Deployment• Cada “commit” a la rama principal crea una versión candidata• Feedback rápido de la “build” con integración continua• Una vez conseguido esto, el “commit” se implementa en el siguiente

entorno para las pruebas automáticas • Si las pruebas tienen éxito, entonces puede entrar en producción

Page 11: Betabeers - continuous deployment

Continuous Delivery and Deployment

Deploy to Producion

Commit code Build Unit Tests

Commit code Build Unit Tests

Deploy to Test Integration and Acceptance TestsCommit code Build

Unit Tests

Deploy to Test

Integration and Acceptance Tests

Continuous Integration

Continuous Delivery

Continuous Deployment

Page 12: Betabeers - continuous deployment

¿Cómo lo hacemos?

Page 13: Betabeers - continuous deployment
Page 14: Betabeers - continuous deployment

VCS – Git and TFVC

Project Tools for Agile and Scrum

Build Services

Load Testing

Release Management

Visual Studio Team Services

Page 15: Betabeers - continuous deployment

VSTS Build Services•Orquesta las “builds” - no es un motor de “builds”•Multi-Plataforma (OSX, Linux y Windows) •Extensible – todas las tareas son Open Source•Las “builds” van a una cola para que los agentas puedan procesarlas•Microsoft proporciona agentes hospedados en azure, Windows. Y pronto Linux

Page 16: Betabeers - continuous deployment

VSTS Release• Automatiza los “deployments”• Automatiza los workflows de

aprovación• Se extiende igual que el sistema

de “builds”• Tracking del estado de tus

aplicaciones

Page 17: Betabeers - continuous deployment

Demo

Page 18: Betabeers - continuous deployment

Azure Web Apps Swap

Page 19: Betabeers - continuous deployment

Deploy to staging environmentCommit code Build

Unit Tests

Deploy to Test

Swap staging with production

Artifact Deployment Package

Continuous Deployment

Page 20: Betabeers - continuous deployment

Preguntas

Page 21: Betabeers - continuous deployment

¡Muchas gracias!