betabeers - continuous deployment
Post on 19-Feb-2017
273 Views
Preview:
TRANSCRIPT
Continuous Deploymentsuper-vitaminado gracias a Microsoft AzureEntornos de trabajo automatizados
Fernando EscolarDevelopment & Cloud Lead Consultantfernando.escolar@tokiota.com@fernandoescolar
TOKIOTA, the Microsoft leading partner for innovative technology solutions, empowering our customers while taking care of our people.
Un día cualquiera…
Hoy toca puesta en producción…
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
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
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
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
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
¿Cómo lo hacemos?
VCS – Git and TFVC
Project Tools for Agile and Scrum
Build Services
Load Testing
Release Management
Visual Studio Team Services
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
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
Demo
Azure Web Apps Swap
Deploy to staging environmentCommit code Build
Unit Tests
Deploy to Test
Swap staging with production
Artifact Deployment Package
Continuous Deployment
Preguntas
¡Muchas gracias!
top related