I work as an engineer at Miro on the release process improvement team.
Over the past year, we have established an overseas development office, the engineering team has doubled, and six months ago, the company temporarily switched to remote work. In parallel with this, there was a constant multiple increase in the number of users of our product.
Against the background of these changes, it was important for us not to lose in quality and speed, so we seriously updated the server release process. I'll tell you about the changes that ultimately increased the share of successful releases.
Server releases
backend β Java-, . backend AWS (CPU 4 , RAM 16 ). backend- β , - , Miro. Board- ( ). - API- API-.
(graceful deploy) . 60.000 - 50 board-.
, , . , , - , , , (time to market).
, .
β , , .
:
- e2e . . . e2e- - , , -.
. , . , .
, Allure Enterprise Edition, false-positive Resolved.
:
100% , .
.
4 .
Approved Broken . Approve , Broken .
API- board- . , 20%, .
, .
.
, . . β .
, . , , .
, . Sentry Grafana, . Bamboo: Approved Broken.
Bamboo , .
, . , : , .
, Feature Toggle, , .
Hot Fix
, , . , .
, . (Trunk-Based Development, GitFlow ..) GitLab Flow.
Hot Fix GitLab Flow:
.
.
git cherry-pick .
.
.
, .
. .
changelog : . . changelog changelog, , .
Grafana , . Grafana Prometheus.
Jira Bamboo Looker, .
, , . , , .
,
95%.
changelog . , .
.
GitLab Flow hotfix , . .
Looker .
β , . :
. , , .
. board- , API- β . .
. hotfix, GitLab Flow . , . "Branch merging enabled", , .
. 6 - .
, , , .
. .
, , .