さまざまなオフィスの150人以上の開発者がコミットするモノリスを効率的にリリースする方法

私はリリース改善チームでミロのエンジニアとして働いています。

過去1年間で海外開発事務所を設立し、エンジニアリングチームが2倍になり、半年前に一時的にリモートワークに切り替えました。これと並行して、当社製品のユーザー数は常に倍増しました。

これらの変更を背景に、品質と速度を失わないことが重要であったため、サーバーのリリースプロセスを大幅に更新しました。最終的に成功したリリースのシェアを増やした変更について説明します。

サーバーリリース

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

.

, . . — .

カナリアリリースプロセス

, . , , .

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

エラーに関するデータ、作成されたタスクと閉じられたタスクの数。
, .

, , . , , .

,

  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