SlideShare una empresa de Scribd logo
2
Lo más leído
5
Lo más leído
GitFlow - DevOps
+ Jenkins X Demo
Agenda
● Qué es GitFlow
○ Dónde y cuándo aplicarlo?
○ Ventajas e inconvenientes
○ “Reglas del juego”
○ Sintiendo el “flow”
● Cómo DevOps se adapta a GitFlow
● Jenkins X - LABS
● Q&A
Hello World - $whoami
Tech Lead, Senior DevOps, Speaker, Technical Coach, AWS certified and Internet
Infrastructure Specialist
● CEO at Geko Cloud
● Vueling
● Privalia
● Wallapop
● Emagister
● ...
https://www.linkedin.com/in/joseluissanchez/
https://geko.cloud
Qué es GitFlow
● Basado en GIT- sistema de control de versiones más utilizado en desarrollo.
● Se basa en un conjunto de prácticas y flujos que aportan control y evitan
conflictos en el proceso de desarrollos complejos.
● Todo gira entorno al control y gestión de ramas intermedias temporales, fijas
y sus migraciones y fusiones.
● Integración continua que aporta un marco de trabajo definido entre todos los
equipos que participan del desarrollo de un mismo producto (repo).
● Plataforma de plugins que nos ayuda en la CLI para crear y gestionar el
ecosistema
Dónde y cuándo aplicarlo?
● Se recomienda aplicarlo en
○ Entornos semi complejos y complejos de desarrollo
○ Plataforma basada en microservicios con repos independientes
○ Proyectos OpenSource
○ Proyectos single repo muy contributivos
○ Equipos de + 2 personas
○ Proyectos que utilicen Agile framework
○ Proyectos que quieran utilizar mecanismos de test intermedios y unitarios
con GitOps
● No se recomienda en:
○ Proyectos monolíticos
○ Proyectos con 2 o menos desarrolladores
○ Proyectos que no desarrollan funcionalidades de forma independiente
○ Proyectos con personal que desconozca el método y no tenga tiempo MVP
Ventajas
1. Se adapta al formato de “Sprint” basado en metodologías ágiles entregando de
forma continua con CI/CD ya que el entregable es una RELEASE.
2. Evita conflictos entre ramas
3. Protege el estado y fiabilidad de la rama master
4. Mejora la trazabilidad del código
5. Facilita la cooperación colectiva creando ramas por feature
6. El concepto de hotfix agiliza resoluciones de problemas en entornos reales
Desventajas
1. Es primordial que el equipo de desarrollo y devops conozcan el método y
apliquen los flujos y reglas.
2. Agrega complejidad el proceso y pasos intermedios
3. Todo gira alrededor del concepto release
4. Es recomendable crear entornos intermedios temporales
5. Complica el entorno de integración
6. Debemos tener personas que en momentos de conflictos tengan la capacidad
de coordinar conflictos y/o dependencias y conozcan los plugins de git flow.
7. Es recomendable utilizar herramientas complejas y de testing pre integración
que garanticen y den visibilidad del estado de las migraciones entre ramas.
8. Es preciso usar herramientas de los repos como PR para mejorar la parte
contributiva
Reglas del juego
Deben existir dos ramas principales:
● master → eje de la verdad
● develop → eje del desarrollo
GitFlow INIT --> prefijos para las ramas auxiliares:
● feature/
● release/
● hotfix/
● bugfix/
Git Flow y GitOps
Los flujos....
Nueva
feature
Nueva
Release
Nuevo
Hotfix
Git Flow CLI $ brew install git-flow-avh
$ apt-get install git-flow
psst!
JL… start demo!
Sintiendo el flow
Cómo DevOps Se adapta a GitFlow?
Conjunto de herramientas y prácticas basadas en automatismos centralizadas en el eje del
desarrollo contínuo:
● Single point of truth = GIT
● Procesos automáticos disparados por eventos de Git (merge, finish feature, PR...)
● Gestión de entornos automáticos y estáticos
● Automatización flujos con aprobación por QA
● Definición de artefactos y entregables inmutables
● Adaptar pipelines aisladas para trabajar de forma
coordinada con los procesos CI/CD
GIT OPS! TO THE RESCUE!
Cómo DevOps Se adapta a GitFlow?
Cómo GitOps Se adapta a GitFlow?
● Para todo DevOps es primordial entender a la perfección el ciclo de desarrollo de su
empresa para mejorarlo y automatizarlo.
● Con la llegada de los contenedores docker, los flujos de desarrollo han evolucionando
permitiendo testear de forma segura el comportamiento de un producto sin que existan
diferencias entre entornos.
● No existe un modelo de GitOps único y en cada caso existe una adaptación. GIT es el eje de
unión entre desarrollo y operaciones.
● Es primordial poder testear fases de calidad y versionar la infraestructura con entregables
concretos que permita portar un artefacto desde un desarrollador hasta producción.
Desafíos de GITOPS?
● Identificar entornos (pre/prod/stag/devel...)
● Identificar hooks y eventos para automatizar
● Definir herramientas complejas con entornos dinámicos
● Los flujos han de seguir siempre el mismo patrón
● Orientar entornos dinámicos en base a PR
● Es preciso ir de la mano de QA para determinar aprobaciones manuales para el paso a
producción
● Definir métodos de deployment (blue/green/canary)
● Definir rollbacks y procedimientos
● Determinar procesos de DB migrations
● ...
Cómo DevOps Se adapta a GitFlow?
Rama Entorno
Feature - PR Entorno volátil
Develop Integración
Release Staging
Master Prod
Demo Time!
Jenkins X
● Como dice su creador: ‘open source opinionated way to do continuous
delivery with Kubernetes, natively’.
● Jenkins X permite desplegar las aplicaciones en un ecosistema
Kubernetes. Usa las mejores prácticas de DevOps y mejora la calidad y
velocidad de CI/CD.
● Ejecuta un set de herramientas para cumplir un objetivos: simplificar
los procesos CI/CD basándonos en GIT: Helm, Tekton, Prow, Draft,
monocular, ChartMuseum, Nexus, etc.
Jenkins X flow diagram
Jenkins X flow diagram
LABS TIME!
Q&A
Feel the Geko way
Geko Cloud https://geko.cloud
info@geko.cloud

Más contenido relacionado

PDF
Git flow en gitlab
PDF
Microservices
PDF
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
PPTX
Build and release in code with azure devops pipelines
PDF
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
PPTX
Herramientas de comunicación y colaboración
PDF
Proyecto pizarra digital
PPTX
DIFERENCIA DE LAS PLATAFORMAS MOODLE Y BLACKBOARD
Git flow en gitlab
Microservices
SIP transfer with Janus/WebRTC @ OpenSIPS 2022
Build and release in code with azure devops pipelines
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Herramientas de comunicación y colaboración
Proyecto pizarra digital
DIFERENCIA DE LAS PLATAFORMAS MOODLE Y BLACKBOARD

La actualidad más candente (20)

PDF
Devops Cultura y Ciclo de Vida
PPTX
Building APIs with Mule and Spring Boot
PDF
Kafka used at scale to deliver real-time notifications
PPTX
CI/CD Overview
PPTX
Dg-DevOps_seminar.pptx
PPTX
Devops as a service
PDF
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
PDF
"DevOps > CI+CD "
PPTX
How to Send IDOC to SAP using MuleSoft
PPTX
DevOps concepts, tools, and technologies v1.0
PDF
CI/CD (DevOps) 101
PPTX
Bitbucket pipelines
PPTX
MuleSoft Architecture Presentation
PPTX
Introduction to Distributed Tracing
PPTX
Distributed Tracing in Practice
PDF
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
PPTX
Webinar: Implementation of 10 Integration Patterns on iPaaS Platform
PPSX
PDF
Introduction to GitHub
PPTX
Trunk Based Development in the Enterprise - Its Relevance and Economics
Devops Cultura y Ciclo de Vida
Building APIs with Mule and Spring Boot
Kafka used at scale to deliver real-time notifications
CI/CD Overview
Dg-DevOps_seminar.pptx
Devops as a service
Grokking Techtalk #39: How to build an event driven architecture with Kafka ...
"DevOps > CI+CD "
How to Send IDOC to SAP using MuleSoft
DevOps concepts, tools, and technologies v1.0
CI/CD (DevOps) 101
Bitbucket pipelines
MuleSoft Architecture Presentation
Introduction to Distributed Tracing
Distributed Tracing in Practice
APIsecure 2023 - Security Considerations for API Gateway Aggregation, Yoshiyu...
Webinar: Implementation of 10 Integration Patterns on iPaaS Platform
Introduction to GitHub
Trunk Based Development in the Enterprise - Its Relevance and Economics
Publicidad

Similar a Git Flow y GitOps (20)

PDF
DevOps: una breve introducción
PDF
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
PPTX
Replacing SVN with Git for managers
PPTX
Modern CI_CD for Microservices_software.pptx
PPTX
Dev ops with Data
PDF
Control de versiones utilizando Git
PDF
Devops meetup 10 diciembre 2014
PDF
El equipo de integracion de Moodle HQ es tu muy mejor amigo
PDF
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
ODP
Grails 2013 - PUCMM - Santiago - Sistemas
PDF
Construyendo en serie
PPTX
Introduccion a Docker curso para saber como funciona la dockeriazacion -1
 
PPTX
JS Patterns Applied to a Real World Example
PPTX
Global Azure Devops Bootcamp 2019 => Avengers EndGame
PPTX
IDEs y Frameworks mas utilizados
PDF
Devops meetup 21 de Junio 2017
PPTX
ALM09 - Scrum, Visual Studio y Buenas Prácticas
PDF
Metodologias de desarrollo para ingenieria de sistemas
PPTX
Data Ops
PDF
Frameworks de Desarrollo Web Grails
DevOps: una breve introducción
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Replacing SVN with Git for managers
Modern CI_CD for Microservices_software.pptx
Dev ops with Data
Control de versiones utilizando Git
Devops meetup 10 diciembre 2014
El equipo de integracion de Moodle HQ es tu muy mejor amigo
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Grails 2013 - PUCMM - Santiago - Sistemas
Construyendo en serie
Introduccion a Docker curso para saber como funciona la dockeriazacion -1
 
JS Patterns Applied to a Real World Example
Global Azure Devops Bootcamp 2019 => Avengers EndGame
IDEs y Frameworks mas utilizados
Devops meetup 21 de Junio 2017
ALM09 - Scrum, Visual Studio y Buenas Prácticas
Metodologias de desarrollo para ingenieria de sistemas
Data Ops
Frameworks de Desarrollo Web Grails
Publicidad

Último (20)

PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
Perfilaje de Pozos _20250624_222013_0000.pdf
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PPTX
Gestion de seguridad y salud ocupacional.pptx
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PDF
Durabilidad del concreto en zonas costeras
PDF
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PDF
S15 Protección de redes electricas 2025-1_removed.pdf
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Perfilaje de Pozos _20250624_222013_0000.pdf
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
Estrategias de apoyo de tecnología 2do periodo pdf
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Gestion de seguridad y salud ocupacional.pptx
Electricidad-Estatica-Peligros-Prevencion.pdf
Durabilidad del concreto en zonas costeras
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
prg2_t01_p01_Fundamentos POO - parte1.pdf
informacion acerca de la crianza tecnificada de cerdos
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
S15 Protección de redes electricas 2025-1_removed.pdf
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx

Git Flow y GitOps

  • 1. GitFlow - DevOps + Jenkins X Demo
  • 2. Agenda ● Qué es GitFlow ○ Dónde y cuándo aplicarlo? ○ Ventajas e inconvenientes ○ “Reglas del juego” ○ Sintiendo el “flow” ● Cómo DevOps se adapta a GitFlow ● Jenkins X - LABS ● Q&A
  • 3. Hello World - $whoami Tech Lead, Senior DevOps, Speaker, Technical Coach, AWS certified and Internet Infrastructure Specialist ● CEO at Geko Cloud ● Vueling ● Privalia ● Wallapop ● Emagister ● ... https://www.linkedin.com/in/joseluissanchez/ https://geko.cloud
  • 4. Qué es GitFlow ● Basado en GIT- sistema de control de versiones más utilizado en desarrollo. ● Se basa en un conjunto de prácticas y flujos que aportan control y evitan conflictos en el proceso de desarrollos complejos. ● Todo gira entorno al control y gestión de ramas intermedias temporales, fijas y sus migraciones y fusiones. ● Integración continua que aporta un marco de trabajo definido entre todos los equipos que participan del desarrollo de un mismo producto (repo). ● Plataforma de plugins que nos ayuda en la CLI para crear y gestionar el ecosistema
  • 5. Dónde y cuándo aplicarlo? ● Se recomienda aplicarlo en ○ Entornos semi complejos y complejos de desarrollo ○ Plataforma basada en microservicios con repos independientes ○ Proyectos OpenSource ○ Proyectos single repo muy contributivos ○ Equipos de + 2 personas ○ Proyectos que utilicen Agile framework ○ Proyectos que quieran utilizar mecanismos de test intermedios y unitarios con GitOps ● No se recomienda en: ○ Proyectos monolíticos ○ Proyectos con 2 o menos desarrolladores ○ Proyectos que no desarrollan funcionalidades de forma independiente ○ Proyectos con personal que desconozca el método y no tenga tiempo MVP
  • 6. Ventajas 1. Se adapta al formato de “Sprint” basado en metodologías ágiles entregando de forma continua con CI/CD ya que el entregable es una RELEASE. 2. Evita conflictos entre ramas 3. Protege el estado y fiabilidad de la rama master 4. Mejora la trazabilidad del código 5. Facilita la cooperación colectiva creando ramas por feature 6. El concepto de hotfix agiliza resoluciones de problemas en entornos reales
  • 7. Desventajas 1. Es primordial que el equipo de desarrollo y devops conozcan el método y apliquen los flujos y reglas. 2. Agrega complejidad el proceso y pasos intermedios 3. Todo gira alrededor del concepto release 4. Es recomendable crear entornos intermedios temporales 5. Complica el entorno de integración 6. Debemos tener personas que en momentos de conflictos tengan la capacidad de coordinar conflictos y/o dependencias y conozcan los plugins de git flow. 7. Es recomendable utilizar herramientas complejas y de testing pre integración que garanticen y den visibilidad del estado de las migraciones entre ramas. 8. Es preciso usar herramientas de los repos como PR para mejorar la parte contributiva
  • 8. Reglas del juego Deben existir dos ramas principales: ● master → eje de la verdad ● develop → eje del desarrollo GitFlow INIT --> prefijos para las ramas auxiliares: ● feature/ ● release/ ● hotfix/ ● bugfix/
  • 11. Git Flow CLI $ brew install git-flow-avh $ apt-get install git-flow psst! JL… start demo!
  • 13. Cómo DevOps Se adapta a GitFlow? Conjunto de herramientas y prácticas basadas en automatismos centralizadas en el eje del desarrollo contínuo: ● Single point of truth = GIT ● Procesos automáticos disparados por eventos de Git (merge, finish feature, PR...) ● Gestión de entornos automáticos y estáticos ● Automatización flujos con aprobación por QA ● Definición de artefactos y entregables inmutables ● Adaptar pipelines aisladas para trabajar de forma coordinada con los procesos CI/CD GIT OPS! TO THE RESCUE!
  • 14. Cómo DevOps Se adapta a GitFlow?
  • 15. Cómo GitOps Se adapta a GitFlow? ● Para todo DevOps es primordial entender a la perfección el ciclo de desarrollo de su empresa para mejorarlo y automatizarlo. ● Con la llegada de los contenedores docker, los flujos de desarrollo han evolucionando permitiendo testear de forma segura el comportamiento de un producto sin que existan diferencias entre entornos. ● No existe un modelo de GitOps único y en cada caso existe una adaptación. GIT es el eje de unión entre desarrollo y operaciones. ● Es primordial poder testear fases de calidad y versionar la infraestructura con entregables concretos que permita portar un artefacto desde un desarrollador hasta producción.
  • 16. Desafíos de GITOPS? ● Identificar entornos (pre/prod/stag/devel...) ● Identificar hooks y eventos para automatizar ● Definir herramientas complejas con entornos dinámicos ● Los flujos han de seguir siempre el mismo patrón ● Orientar entornos dinámicos en base a PR ● Es preciso ir de la mano de QA para determinar aprobaciones manuales para el paso a producción ● Definir métodos de deployment (blue/green/canary) ● Definir rollbacks y procedimientos ● Determinar procesos de DB migrations ● ...
  • 17. Cómo DevOps Se adapta a GitFlow? Rama Entorno Feature - PR Entorno volátil Develop Integración Release Staging Master Prod
  • 19. Jenkins X ● Como dice su creador: ‘open source opinionated way to do continuous delivery with Kubernetes, natively’. ● Jenkins X permite desplegar las aplicaciones en un ecosistema Kubernetes. Usa las mejores prácticas de DevOps y mejora la calidad y velocidad de CI/CD. ● Ejecuta un set de herramientas para cumplir un objetivos: simplificar los procesos CI/CD basándonos en GIT: Helm, Tekton, Prow, Draft, monocular, ChartMuseum, Nexus, etc.
  • 20. Jenkins X flow diagram
  • 21. Jenkins X flow diagram
  • 23. Q&A
  • 24. Feel the Geko way Geko Cloud https://geko.cloud info@geko.cloud