SlideShare una empresa de Scribd logo
1 de 26
Git en el mundo real
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Ángel Roldán David Pordomingo
@senechaux @rizomeEs
¿ Quiénes sómos ?
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
y venimos de...
¿Qué hacemos en Acilia?
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
¿Qué hacemos en Acilia?
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
¿ y qué os vamos a contar?
Nuestra evolución
Cómo hacemos que se cumplan las normas
Cómo nos complicamos la vida, y cómo nos la solucionamos
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Prehistoria (3 años, 3 personas)
Entorno de validación similar al de producción
Ramas: todo el trabajo se realiza sobre <master>
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. El equipo crece (2’5 años, 4 personas)
Entorno de validación con rama fija: preprod
Entorno de pruebas independiente con rama variable
Ramas: sólo si se prevé un desarrollo largo
- para todo lo demás: <master>
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. La cantidad de issues crece (1 año, 6-8 personas)
Entorno de validación con rama fija: preprod
Entorno de pruebas independiente con rama variable
Ramas: se recomienda una por cada issue
Commits: sin reglas; pueden desarrollarse fixes o tareas pequeñas sobre master.
- nombres: sin política (wip, wip2, definitivo, ahorasi)
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Commits everywhere… (6 meses, 8 personas)
Entorno de validación con rama fija: preprod
Entorno de pruebas independiente con rama variable
Ramas: una para cada issue
- nombres: prefijo ISSUE-XXX
Commits: siempre en rama dedicada a la tarea
- nombres: sin política
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Control del desarrollador (2 meses, 8-10 personas)
Entorno de validación con rama fija: preprod
Entorno de pruebas independiente con rama variable
Ramas: una para cada issue
- nombres: prefijo ISSUE-XXX
Commits: siempre en rama dedicada a la tarea
- nombres: sin política
Fork por cada persona
Pull-request a través de GitHub
- aprobación automática por el desarrollador
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Poniendo el foco en la calidad (1 mes, 8-10 personas)
Entorno de validación con rama fija: preprod
Entorno de pruebas independiente con rama variable
Ramas: una para cada issue
- nombres: prefijos ISSUE-XXX, FEATURE/, CLEANUP/, COSMETICS/, FIX/, HOTFIX/, HOTFIX/ISSUE-XXX
Commits: siempre en rama dedicada a la tarea
- nombres: precedido por el nombre de la rama
Fork por cada persona
Pull-request a través de GitHub
- code-review dependiente de la criticidad
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Poniendoselo fácil al desarrollador (10 personas)
Múltiples entornos de validación, uno por cada rama a validar
Entorno de pruebas independiente con rama variable
Ramas: una para cada issue
Commits: siempre en rama dedicada a la tarea
Cumplimiento de estándares asegurado mediante hooks
Fork por cada persona
Pull-request a través de GitHub
- lanzados desde la consola
- ¿gitflow?
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Evolución. Estadios pasados.
3 👥
3 años
4 👥
2,5 años
6-8 👥
1 año
8 👥
6 meses
8-10 👥
2 meses
8-10 👥
1 mes
entornos prod
pre
prod
pre
prod = pre
staging
prod = pre
staging
prod = pre
staging
prod = pre
staging
ramas master sólo para
desarrollos
recomend.
por issue
obligatorio
por issue
obligatorio
por issue
obligatorio
por issue
commits rama propia rama propia rama propia
naming ISSUE-XXX ISSUE-XXX prefijos
forks personales personales
PR auto
aprobados
code review
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
la cosa avanza, vamos por el ecuador
Nuestra evolución
Cómo hacemos que se cumplan las normas
Cómo nos complicamos la vida, y cómo nos la solucionamos
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Cumpliendo normas. ¿Qué normas?
Compromiso con la calidad.
Compromiso con la agilidad.
Elección de estándard.
Haciendo que se cumplan las normas
Recomendación: rebase antes de PR y squashing
Git-Hooks
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Cumpliendo normas. Nombres de commits bonicos
<prepare-commit-msg> Tomando el nombre de la rama
<commit-msg> Validando que el mensaje del commit sigue las normas
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Cumpliendo normas. Code standards
<pre-commit> Asegurando que el código cumple con nuestros estándares
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Cumpliendo normas. Cada commit en su sitio
<pre-commit> Asegurando que no se sale ningún commit de su issue
<pre-push> Asegurando que nadie intenta pushear sobre ramas públicas
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
cinco minutos y estos dos se retiran
Nuestra evolución
Cómo hacemos que se cumplan las normas
Cómo nos complicamos la vida, y cómo nos la solucionamos
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
CMS, git y BDD. Editores vs desarrolladores
Desincronización entre los templates de la BDD -que manipulan
los editores-, y los mismos templates que editamos desde
nuestro IDE.
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
CMS, git y BDD. Mandando mails desde el CMS
Primer acercamiento: mandar un email cuando se edita un
template desde el CMS
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
CMS, git y BDD. Commiteando desde el CMS
Segundo acercamiento: comiteando desde el CMS
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
CMS, git y BDD. Pull-request desde el CMS ¿orly?
Segunda vuelta: actualizando la BDD con los datos del
repositorio.
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
bibliografía
http://git-scm.com/book/en/v2
(para rellenar: en castellano) http://librosweb.es/libro/pro_git
https://github.com/brigade/overcommit
y evidentemente:
http://stackoverflow.com/questions/tagged/git
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
bibliografía
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Más contenido relacionado

Similar a Charla git

"Everything as code" - CloudBees University
"Everything as code" - CloudBees University"Everything as code" - CloudBees University
"Everything as code" - CloudBees UniversityRomén Rodríguez-Gil
 
Safe Creative qué hacemos y cómo lo hacemos
Safe Creative qué hacemos y cómo lo hacemosSafe Creative qué hacemos y cómo lo hacemos
Safe Creative qué hacemos y cómo lo hacemosSafe Creative
 
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...Codemotion
 
NestJS: Backends en Node para Javeros y Puntoneteros
NestJS: Backends en Node para Javeros y PuntoneterosNestJS: Backends en Node para Javeros y Puntoneteros
NestJS: Backends en Node para Javeros y PuntoneterosFrancisco Javier Barrena
 
Machine Learning ¿A TODO GAS? con GraalVM
Machine Learning ¿A TODO GAS? con GraalVMMachine Learning ¿A TODO GAS? con GraalVM
Machine Learning ¿A TODO GAS? con GraalVMFrancisco Javier Barrena
 
Taller Twitter (manual avanzado)
Taller Twitter (manual avanzado)Taller Twitter (manual avanzado)
Taller Twitter (manual avanzado)Tirso Maldonado
 
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...Apasionados del Marketing
 
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumClinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumArturo Marimon
 
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumClinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumClinic Seo
 
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.Óscar R. Onrubia
 
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016Fernando Puente
 
Caso de Estudio Floter.com: Congreso SEO Profesional 2016
Caso de Estudio Floter.com: Congreso SEO Profesional 2016Caso de Estudio Floter.com: Congreso SEO Profesional 2016
Caso de Estudio Floter.com: Congreso SEO Profesional 2016MJ Cachón Yáñez
 
Caso de Estudio SEO: Elige tu propia aventura #CW17
Caso de Estudio SEO: Elige tu propia aventura #CW17Caso de Estudio SEO: Elige tu propia aventura #CW17
Caso de Estudio SEO: Elige tu propia aventura #CW17MJ Cachón Yáñez
 
Catalogo CU Conectores
Catalogo CU ConectoresCatalogo CU Conectores
Catalogo CU ConectoresCu Conectores
 
Ilumina tu camino (juan pablo betancur garcia)
Ilumina tu camino (juan pablo betancur garcia)Ilumina tu camino (juan pablo betancur garcia)
Ilumina tu camino (juan pablo betancur garcia)juan pablo betancur garcia
 
Onboarding tecnológico: Pasar los niveles del juego
Onboarding tecnológico: Pasar los niveles del juegoOnboarding tecnológico: Pasar los niveles del juego
Onboarding tecnológico: Pasar los niveles del juegoRoberto Canales
 

Similar a Charla git (20)

"Everything as code" - CloudBees University
"Everything as code" - CloudBees University"Everything as code" - CloudBees University
"Everything as code" - CloudBees University
 
Safe Creative qué hacemos y cómo lo hacemos
Safe Creative qué hacemos y cómo lo hacemosSafe Creative qué hacemos y cómo lo hacemos
Safe Creative qué hacemos y cómo lo hacemos
 
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...
Francisco Javier Barrena | NestJS: Backends para javeros y punto-neteros con ...
 
NestJS: Backends en Node para Javeros y Puntoneteros
NestJS: Backends en Node para Javeros y PuntoneterosNestJS: Backends en Node para Javeros y Puntoneteros
NestJS: Backends en Node para Javeros y Puntoneteros
 
Machine Learning ¿A TODO GAS? con GraalVM
Machine Learning ¿A TODO GAS? con GraalVMMachine Learning ¿A TODO GAS? con GraalVM
Machine Learning ¿A TODO GAS? con GraalVM
 
Taller Twitter (manual avanzado)
Taller Twitter (manual avanzado)Taller Twitter (manual avanzado)
Taller Twitter (manual avanzado)
 
Hx c18
Hx c18Hx c18
Hx c18
 
PRINCE2, un buen inicio para un Project Manager
PRINCE2, un buen inicio para un Project ManagerPRINCE2, un buen inicio para un Project Manager
PRINCE2, un buen inicio para un Project Manager
 
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...
El Dominio como palabra clave y la utilidad de los Geo-Dominios en el comerci...
 
#4 Elevator Pitch Santiago
#4 Elevator Pitch Santiago#4 Elevator Pitch Santiago
#4 Elevator Pitch Santiago
 
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumClinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
 
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs UvinumClinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
Clinic SEO: El subdominio ha mu-er-to + HTTPs Uvinum
 
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.
Del Triángulo de Hierro a la gestión de Sistemas Complejos Adaptativos.
 
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016
Ciclo de vida de un proyecto WordPress - WordCamp Barcelona 2016
 
Caso de Estudio Floter.com: Congreso SEO Profesional 2016
Caso de Estudio Floter.com: Congreso SEO Profesional 2016Caso de Estudio Floter.com: Congreso SEO Profesional 2016
Caso de Estudio Floter.com: Congreso SEO Profesional 2016
 
Machine learning automatizado
Machine learning automatizadoMachine learning automatizado
Machine learning automatizado
 
Caso de Estudio SEO: Elige tu propia aventura #CW17
Caso de Estudio SEO: Elige tu propia aventura #CW17Caso de Estudio SEO: Elige tu propia aventura #CW17
Caso de Estudio SEO: Elige tu propia aventura #CW17
 
Catalogo CU Conectores
Catalogo CU ConectoresCatalogo CU Conectores
Catalogo CU Conectores
 
Ilumina tu camino (juan pablo betancur garcia)
Ilumina tu camino (juan pablo betancur garcia)Ilumina tu camino (juan pablo betancur garcia)
Ilumina tu camino (juan pablo betancur garcia)
 
Onboarding tecnológico: Pasar los niveles del juego
Onboarding tecnológico: Pasar los niveles del juegoOnboarding tecnológico: Pasar los niveles del juego
Onboarding tecnológico: Pasar los niveles del juego
 

Último

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 

Último (7)

Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 

Charla git

  • 1. Git en el mundo real Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 2. Ángel Roldán David Pordomingo @senechaux @rizomeEs ¿ Quiénes sómos ? Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain y venimos de...
  • 3. ¿Qué hacemos en Acilia? Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 4. ¿Qué hacemos en Acilia? Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 5. ¿ y qué os vamos a contar? Nuestra evolución Cómo hacemos que se cumplan las normas Cómo nos complicamos la vida, y cómo nos la solucionamos Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 6. Evolución. Prehistoria (3 años, 3 personas) Entorno de validación similar al de producción Ramas: todo el trabajo se realiza sobre <master> Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 7. Evolución. El equipo crece (2’5 años, 4 personas) Entorno de validación con rama fija: preprod Entorno de pruebas independiente con rama variable Ramas: sólo si se prevé un desarrollo largo - para todo lo demás: <master> Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 8. Evolución. La cantidad de issues crece (1 año, 6-8 personas) Entorno de validación con rama fija: preprod Entorno de pruebas independiente con rama variable Ramas: se recomienda una por cada issue Commits: sin reglas; pueden desarrollarse fixes o tareas pequeñas sobre master. - nombres: sin política (wip, wip2, definitivo, ahorasi) Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 9. Evolución. Commits everywhere… (6 meses, 8 personas) Entorno de validación con rama fija: preprod Entorno de pruebas independiente con rama variable Ramas: una para cada issue - nombres: prefijo ISSUE-XXX Commits: siempre en rama dedicada a la tarea - nombres: sin política Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 10. Evolución. Control del desarrollador (2 meses, 8-10 personas) Entorno de validación con rama fija: preprod Entorno de pruebas independiente con rama variable Ramas: una para cada issue - nombres: prefijo ISSUE-XXX Commits: siempre en rama dedicada a la tarea - nombres: sin política Fork por cada persona Pull-request a través de GitHub - aprobación automática por el desarrollador Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 11. Evolución. Poniendo el foco en la calidad (1 mes, 8-10 personas) Entorno de validación con rama fija: preprod Entorno de pruebas independiente con rama variable Ramas: una para cada issue - nombres: prefijos ISSUE-XXX, FEATURE/, CLEANUP/, COSMETICS/, FIX/, HOTFIX/, HOTFIX/ISSUE-XXX Commits: siempre en rama dedicada a la tarea - nombres: precedido por el nombre de la rama Fork por cada persona Pull-request a través de GitHub - code-review dependiente de la criticidad Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 12. Evolución. Poniendoselo fácil al desarrollador (10 personas) Múltiples entornos de validación, uno por cada rama a validar Entorno de pruebas independiente con rama variable Ramas: una para cada issue Commits: siempre en rama dedicada a la tarea Cumplimiento de estándares asegurado mediante hooks Fork por cada persona Pull-request a través de GitHub - lanzados desde la consola - ¿gitflow? Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 13. Evolución. Estadios pasados. 3 👥 3 años 4 👥 2,5 años 6-8 👥 1 año 8 👥 6 meses 8-10 👥 2 meses 8-10 👥 1 mes entornos prod pre prod pre prod = pre staging prod = pre staging prod = pre staging prod = pre staging ramas master sólo para desarrollos recomend. por issue obligatorio por issue obligatorio por issue obligatorio por issue commits rama propia rama propia rama propia naming ISSUE-XXX ISSUE-XXX prefijos forks personales personales PR auto aprobados code review Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 14. la cosa avanza, vamos por el ecuador Nuestra evolución Cómo hacemos que se cumplan las normas Cómo nos complicamos la vida, y cómo nos la solucionamos Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 15. Cumpliendo normas. ¿Qué normas? Compromiso con la calidad. Compromiso con la agilidad. Elección de estándard. Haciendo que se cumplan las normas Recomendación: rebase antes de PR y squashing Git-Hooks Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 16. Cumpliendo normas. Nombres de commits bonicos <prepare-commit-msg> Tomando el nombre de la rama <commit-msg> Validando que el mensaje del commit sigue las normas Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 17. Cumpliendo normas. Code standards <pre-commit> Asegurando que el código cumple con nuestros estándares Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 18. Cumpliendo normas. Cada commit en su sitio <pre-commit> Asegurando que no se sale ningún commit de su issue <pre-push> Asegurando que nadie intenta pushear sobre ramas públicas Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 19. cinco minutos y estos dos se retiran Nuestra evolución Cómo hacemos que se cumplan las normas Cómo nos complicamos la vida, y cómo nos la solucionamos Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 20. CMS, git y BDD. Editores vs desarrolladores Desincronización entre los templates de la BDD -que manipulan los editores-, y los mismos templates que editamos desde nuestro IDE. Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 21. CMS, git y BDD. Mandando mails desde el CMS Primer acercamiento: mandar un email cuando se edita un template desde el CMS Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 22. CMS, git y BDD. Commiteando desde el CMS Segundo acercamiento: comiteando desde el CMS Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 23. CMS, git y BDD. Pull-request desde el CMS ¿orly? Segunda vuelta: actualizando la BDD con los datos del repositorio. Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 24. bibliografía http://git-scm.com/book/en/v2 (para rellenar: en castellano) http://librosweb.es/libro/pro_git https://github.com/brigade/overcommit y evidentemente: http://stackoverflow.com/questions/tagged/git Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 25. bibliografía Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain
  • 26. Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain