SlideShare una empresa de Scribd logo
1 de 24
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/
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

La actualidad más candente

Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOpsBrice Fernandes
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsMariano Cunietti
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOpsNicola Baldi
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdBilly Yuen
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...SlideTeam
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfKnoldus Inc.
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
GitOps - Operation By Pull Request
GitOps - Operation By Pull RequestGitOps - Operation By Pull Request
GitOps - Operation By Pull RequestKasper Nissen
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Janusz Nowak
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Opsta
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitE Carter
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...Weaveworks
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 

La actualidad más candente (20)

Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Gitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operationsGitops: a new paradigm for software defined operations
Gitops: a new paradigm for software defined operations
 
DevOps: Age Of CI/CD
DevOps: Age Of CI/CDDevOps: Age Of CI/CD
DevOps: Age Of CI/CD
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
CI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cdCI:CD in Lightspeed with kubernetes and argo cd
CI:CD in Lightspeed with kubernetes and argo cd
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
 
CD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdfCD using ArgoCD(KnolX).pdf
CD using ArgoCD(KnolX).pdf
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
GitOps - Operation By Pull Request
GitOps - Operation By Pull RequestGitOps - Operation By Pull Request
GitOps - Operation By Pull Request
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 
Argocd up and running
Argocd up and runningArgocd up and running
Argocd up and running
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...GitOps - Modern best practices for high velocity app dev using cloud native t...
GitOps - Modern best practices for high velocity app dev using cloud native t...
 
Kubernetes networking & Security
Kubernetes networking & SecurityKubernetes networking & Security
Kubernetes networking & Security
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 

Similar a Git Flow y GitOps

Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015 César Hernández
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Datannakasone
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando GitHugo Gilmar Erazo
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Eduardo Diaz
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoDavid Monllaó
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasCarlos Camacho
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameAdrian Diaz Cervera
 
Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Eduardo Diaz
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Bootcamp gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...
Bootcamp   gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...Bootcamp   gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...
Bootcamp gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...Oliver Fierro
 
¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?Gerónimo Di Pierro
 

Similar a Git Flow y GitOps (20)

DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Replacing SVN with Git for managers
Replacing SVN with Git for managersReplacing SVN with Git for managers
Replacing SVN with Git for managers
 
Dev ops with Data
Dev ops with DataDev ops with Data
Dev ops with Data
 
Control de versiones utilizando Git
Control de versiones utilizando GitControl de versiones utilizando Git
Control de versiones utilizando Git
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014
 
El equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigoEl equipo de integracion de Moodle HQ es tu muy mejor amigo
El equipo de integracion de Moodle HQ es tu muy mejor amigo
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Construyendo en serie
Construyendo en serieConstruyendo en serie
Construyendo en serie
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Global Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGameGlobal Azure Devops Bootcamp 2019 => Avengers EndGame
Global Azure Devops Bootcamp 2019 => Avengers EndGame
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Data Ops
Data OpsData Ops
Data Ops
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Bootcamp gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...
Bootcamp   gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...Bootcamp   gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...
Bootcamp gdg cloud scl - introduccion a arquitectura cloud en gcp - oliver ...
 
¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?¿Cómo elegir tu workflow de Git?
¿Cómo elegir tu workflow de Git?
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 

Último

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesal21510263
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IILauraFernandaValdovi
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciazacariasd49
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 

Último (20)

Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Cadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operacionesCadenas de Markov investigación de operaciones
Cadenas de Markov investigación de operaciones
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Tiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo IITiempos Predeterminados MOST para Estudio del Trabajo II
Tiempos Predeterminados MOST para Estudio del Trabajo II
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
PRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potenciaPRESENTACION DE CLASE. Factor de potencia
PRESENTACION DE CLASE. Factor de potencia
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 

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/
  • 9.
  • 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