Cómo lanzar de manera eficiente un monolito al que se comprometen más de 150 desarrolladores de diferentes oficinas

Trabajo como ingeniero para Miro en el equipo de mejora del proceso de lanzamiento.

Durante el año pasado, establecimos una oficina de desarrollo en el extranjero, el equipo de ingeniería se duplicó y, hace seis meses, la empresa cambió temporalmente al trabajo remoto. Paralelamente, hubo un aumento múltiple constante en el número de usuarios de nuestro producto.

En el contexto de estos cambios, era importante para nosotros no perder calidad y velocidad, por lo que actualizamos seriamente el proceso de lanzamiento del servidor. Les contaré los cambios que finalmente aumentaron la proporción de lanzamientos exitosos.

Versiones de servidor

backend — Java-, . backend AWS (CPU 4 , RAM 16 ). backend- – , - , Miro. Board- ( ). - API- API-.

(graceful deploy) . 60.000 - 50 board-.

, , . , , - , , , (time to market).

, .

— , , .

:

  1. - e2e . . . e2e- - , , -.

  2. . , . , .

  3. , Allure Enterprise Edition, false-positive Resolved.

:

  1. 100% , .

  2. .

  3. 4 .

  4. Approved Broken . Approve , Broken .

  5. API- board- . , 20%, .

  6. , .

.

, . . — .

Proceso de lanzamiento canario

, . , , .

, . Sentry Grafana, . Bamboo: Approved Broken.

Bamboo , .

, . , : , .

, Feature Toggle, , .

Hot Fix

, , . , .

, . (Trunk-Based Development, GitFlow ..) GitLab Flow.

Hot Fix GitLab Flow:

  1. .

  2. .

  3. git cherry-pick .

  4. .

  5. .

, .

. .

changelog : . . changelog changelog, , .

Grafana , . Grafana Prometheus.

Jira Bamboo Looker, .

Datos sobre errores, número de tareas creadas y cerradas.
, .

, , . , , .

,

  1. 95%.

  2. changelog . , .

  3. .

  4. GitLab Flow hotfix , . .

  5. Looker .

— , . :

  1. . , , .

  2. . board- , API- — . .

  3. . hotfix, GitLab Flow . , . "Branch merging enabled", , .

  4. . 6 - .

  5. , , , .

  6. . .

, , .




All Articles