charla git

26
Git en el mundo real Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Upload: david-pordomingo-de-la-fuente

Post on 21-Jan-2017

223 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Charla git

Git en el mundo real

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 2: Charla git

Á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...

Page 3: Charla git

¿Qué hacemos en Acilia?

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 4: Charla git

¿Qué hacemos en Acilia?

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 5: Charla git

¿ 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

Page 6: Charla git

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

Page 7: Charla git

Evolución. El equipo crece (2’5 años, 4 personas)

Entorno de validación con rama fija: preprodEntorno 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

Page 8: Charla git

Evolución. La cantidad de issues crece (1 año, 6-8 personas)Entorno de validación con rama fija: preprodEntorno de pruebas independiente con rama variable

Ramas: se recomienda una por cada issueCommits: 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

Page 9: Charla git

Evolución. Commits everywhere… (6 meses, 8 personas)Entorno de validación con rama fija: preprodEntorno de pruebas independiente con rama variable

Ramas: una para cada issue- nombres: prefijo ISSUE-XXXCommits: 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

Page 10: Charla git

Evolución. Control del desarrollador (2 meses, 8-10 personas)Entorno de validación con rama fija: preprodEntorno de pruebas independiente con rama variable

Ramas: una para cada issue- nombres: prefijo ISSUE-XXXCommits: siempre en rama dedicada a la tarea- nombres: sin política

Fork por cada personaPull-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

Page 11: Charla git

Evolución. Poniendo el foco en la calidad (1 mes, 8-10 personas)Entorno de validación con rama fija: preprodEntorno de pruebas independiente con rama variable

Ramas: una para cada issue- nombres: prefijos ISSUE-XXX, FEATURE/, CLEANUP/, COSMETICS/, FIX/, HOTFIX/, HOTFIX/ISSUE-XXXCommits: siempre en rama dedicada a la tarea- nombres: precedido por el nombre de la rama

Fork por cada personaPull-request a través de GitHub- code-review dependiente de la criticidadAngel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 12: Charla git

Evolución. Poniendoselo fácil al desarrollador (10 personas)Múltiples entornos de validación, uno por cada rama a validarEntorno de pruebas independiente con rama variable

Ramas: una para cada issueCommits: siempre en rama dedicada a la tareaCumplimiento de estándares asegurado mediante hooks

Fork por cada personaPull-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

Page 13: Charla git

Evolución. Estadios pasados.3 👥

3 años4 👥

2,5 años6-8 👥1 año

8 👥6 meses

8-10 👥2 meses

8-10 👥1 mes

entornos prodpre

prodpre

prod = prestaging

prod = prestaging

prod = prestaging

prod = prestaging

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

Page 14: Charla git

la cosa avanza, vamos por el ecuadorNuestra evolución

Cómo hacemos que se cumplan las normasCó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

Page 15: Charla git

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

Page 16: Charla git

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

Page 17: Charla git

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

Page 18: Charla git

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

Page 19: Charla git

cinco minutos y estos dos se retiranNuestra 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

Page 20: Charla git

CMS, git y BDD. Editores vs desarrolladoresDesincronizació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

Page 21: Charla git

CMS, git y BDD. Mandando mails desde el CMSPrimer 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

Page 22: Charla git

CMS, git y BDD. Commiteando desde el CMSSegundo acercamiento: comiteando desde el CMS

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 23: Charla git

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

Page 24: Charla git

bibliografía

http://git-scm.com/book/en/v2(para rellenar: en castellano) http://librosweb.es/libro/pro_git

https://github.com/brigade/overcommity evidentemente:

http://stackoverflow.com/questions/tagged/git

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 25: Charla git

bibliografía

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain

Page 26: Charla git

Angel Roldán @senechaux · David Pordomingo @rizomeEs C/Campomanes 6, 5ºizq; 28013 Madrid Spain