Continuous Integration (CI) y Continuous Delivery (CD)
Clase 2 de 15 • Curso de Travis CI
Contenido del curso
Clase 2 de 15 • Curso de Travis CI
Contenido del curso
Miguel Angel Muñoz Pozos
Luis Alejandro Vera Hernandez
Luis Ricardo Moran Chozo
Gonzalo Amador Hernández
Gerardo Alberto Soto Alvarez del Castillo
Jhonathan Alfonso
Sergio Veloza
Jhonathan Alfonso
Obed Paz
Erika Gabriela Villanueva Perez de Leon
Miriam NM
Gonzalo Amador Hernández
Gerardo Alberto Soto Alvarez del Castillo
Diego Andrés Beltrán Garavito
Naldo Duran
Juan Esteban Galvis
Johny Jiménez
Jhonathan Alfonso
GREGORIO JOSÉ BOLÍVAR BOLIVAR
Gonzalo Amador Hernández
Me quedo claro el significado de las siglas con la imagen.
• CI equivale a integración continua o continuous integration, objetivo principal preparar y servir cuanto antes una release del Software de forma rápida, sencilla y ágil. • CD por su parte, puede equivaler a entrega continua (continuous delivery) o despliegue continuo (continuous deployment), es el siguiente paso de la integración continua. De hecho, en muchos círculos se la conoce como una extensión de la integración continua. Su objetivo no es otro que el de proporcionar una manera ágil y fiable de poder entregar o desplegar los nuevos cambios a los clientes.
La diferencia entre Continuous Delivery y Continuous Deployment es que en Continuous Delivery el desploege a ambiente de producion es **Manual y en Continuous Deployment es de forma automatica
Términos importantes que vamos a utilizar durante el desarrollo de Software: CI: Continuous Integration. CD: Continuous Delivery. Estos 2 términos nos ayudarán a llevar de manera más ágil nuestro código a producción. Así como también, de hacer pruebas en ciertos bloques del código para garantizar calidad de nuestro Software. Fases del CI/CD: [Plan]: Requerimientos a cumplir, en este curso trabajaremos en un proyecto ya definido. [Code]: Fase de desarrollo (features). [Build]: Agrupación de features. [Test]: Comprobación de calidad para las features. [Release]: Paquete de código listo para mandar a producción. [Deploy]: Software operando en un ambiente de producción.
El mejor profesor definitivamente
quien mas viene del reto puntoycoma?
Yo no :'(
. En concreto, la CI/CD incorpora la automatización continua y el control permanente en todo el ciclo de vida de las aplicaciones, desde las etapas de integración y prueba hasta las de distribución e implementación. Este conjunto de prácticas se conoce como "canales de CI/CD", y cuenta con el soporte de DevOps.
. Los conceptos de CI/CD aparecen a partir del DevOps. El DevOps son un conjunto de ideas y prácticas que nacen a partir de la necesidad de buscar eliminar la frustración creada entre los equipos de desarrollo y de operaciones. Debido a esto se han creado herramientas para poder eliminar los conflictos entre estos equipos y mejorar el flujo de desarrollo e integración de nuestras aplicaciones.
Travis
Continuous Integration (CI) y Continuous Delivery (CD)
Se divide en dos fases Continuos Integratios (CI) y Continuous Delivery (CD) y esas a su vez tienen sus etapas
Continuos Integratios (CI)
Continuous Delivery (CD)
Toma lo que ya haya pasado de la etapa Test para continuar.
Ya es el login en https://www.travis-ci.com/
Recomiendo ver este video de Freddy vega donde explica los conceptos de CI/CD para complementar su conocimiento:
Tambien habla de GitLab y GitHub pero la teoria de CI/CD esta super!!!!
Para el ciclo de vida del Software se utiliza esta "cultura" que es utilizada en DevOps, al implementar Continuous Delivery, esto significa que para mandar nuestro código (o release) a producción, requiere una "aprobación" o proceso humano, en cambio Continuous Deployment mediante pruebas o Tests lo hace automático.
👏
Dicho de otra forma, podríamos decir que:
Si me equivoco agradezco el feedback
interesante porque vamos a manejar Heroku, una mas para mi lista de pruebas jejeje
A darle profe!!!
Excelente recurso travis
Continuous methodologies
Continuous Integration (CI)
Consiste en la practica de integrar continuamente pequeños cambios de codigo en el repositorio y ejecutar tareas para testear, validar, lintear, etc, los cambios, para poder hacerlos acesibles para todo el equipo (esos cambios se integran en un branch de desarrollo del cual el equipo puede mantenerse actualizado).
Continuous Deplyment (CD)
Es un paso mas aya que CI que consiste en hacer despliege en produccion cada ves que se integran cambios a el branch de produccion, Este despliege es manuel.
Antes de integrar se prueba en un ambiente de testing y es testeado por el equipo de QA para posteriormente realizar un release a produccion.
Continuous Delivery (CD)
Este es el Santo Grial, es lo mismo que Continuous Deplyment, solo que el despliege es completamente automatizado.
Se crea infraestructura de testing automaticamente, de despliega el codigo, se testea de forma automatica, se aplican pruebas de rendimiento, SAST y DAST y si todo sale bien en ese ambiente, se despliega a produccion y la infraestructura anterior es destruida (automaticamente).