Como liberar com eficiência um monólito com o qual mais de 150 desenvolvedores de diferentes escritórios se comprometem

Eu trabalho como engenheiro para Miro na equipe de melhoria do processo de lançamento.

No ano passado, estabelecemos um escritório de desenvolvimento no exterior, a equipe de engenharia dobrou e, há seis meses, a empresa mudou temporariamente para o trabalho remoto. Paralelamente a isso, houve um aumento múltiplo constante no número de usuários de nosso produto.

No contexto dessas mudanças, era importante para nós não perder qualidade e velocidade, por isso atualizamos seriamente o processo de lançamento de servidores. Vou falar sobre as mudanças que aumentaram a proporção de lançamentos de sucesso.

Lançamentos 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. , .

.

, . . — .

Processo de liberação canário

, . , , .

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

Dados sobre erros, o número de tarefas criadas e fechadas.
, .

, , . , , .

,

  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