
Halo! Nama saya Stanislav Lukyanov. Saya bekerja untuk GridGain. Hari ini saya ingin berbicara tentang bagaimana kami mempertahankan versi lama di Git.
Pertama, sedikit penjelasan tentang jenis laporannya, siapa yang akan berguna dan siapa saya.

Mari kita bicara tentang bagaimana kami mendukung sejumlah besar versi lama untuk pengguna kami.
:
- , , β .
- , , .
- , , , - .
GridGain. , , , , .

GridGain β . , Apache Ignite, open source. , Ignite, . GridGain - , .
Ignite, .

? . . , , .
, , , enterprise. enterprise?

β . , , . Enterprise .

.

- . β ?
release model:

, . minor- . . , 8 minor- . . minor-.
, , 5-10 . .

? , ?
.

, .

- .

, QA. QA , . .

.

.

QA, .

-, . . - , , 1.3. QA 1.3 - , .

: Β« B 1.3?Β».
β 1.3.

? , , scope creep. . 1.3 . , .
?

. 1.3. 1.3 . . , , 1.3 , .

, 2019- , branch 1.3 branch , . . B.
, , - ? , , , B .

, B , , , .
.

, branches , , . 1.3.0. , .

, .

.

.

, 1.3.2. , - 1.3, , . . 1.3.2.
β 1.3.3. , .

- 1.3.2, .

1.3.2, 1.3.3.

, , , . , 1.3.2. QA . 1.3.3., , 1.3. .
, , , , .

, , . , , - , , , .

, :
- : - , - , - , .
- , , - , . - .
- , , , .

:
- . , - . , , , QA .
- . - , , , .
- :
- β , 2-3-4 .
- β . -- . , - , . .

?
- Git. , .
- , , .
- , .

Github Flow.

, Github Flow? , , , Github Flow.
Git, .

. - , feature branch, bugfix branch.

, pull request integration testing review .

, Github Flow β : deploy. CI/CD, , , , merge deploy production, deploy production, . . .

, - , , , .

Github Flow , ?
- , β merge. . , - , β merge , .
- , . - - .
- , , .
Github Flow - , .
, , Git. feature branch merge β . , .

Git Flow β . , develop.
β , .
Develop β , .
Feature branches develop.

.

, release branch, .

, develop, . . merge.

, .
, hotfix .

, branch develop, . hotfix, . develop.

.

?
- , release branches. .
- , ? , .
- , branches, hotfix branches develop . . , , , develop.
- release branches hot fix , - , . , hot fix, - - . Hot fix . - Git Flow , .
- Git Flow . , hot fix, .

, , , .

. 5 , .
, 1.3. - .
, . ?

-, , . , , - 1.3.

, 1.5, 1.4, 1.3.
? , β , , β . merge-, - , , .
: master-first target-first.

Master-first upstream first β , .
. 1.3, 1.4, , 1.4, 1.5 . .
?
, . , . , , bugfix, - bugfix , β .
. , .
, 1.3. . , - merge-, , - - 1.3.

β target-first.
1.3 . , .
, . , .
. , , . β , . β .
, , . .
:
, , . .
master-first, . , .

, , - 1.3.2, QA 1.3, 1.3.2 QA, dev- 1.3.3 , .
: 1.3.2 1.3.3.
: Β« , ?Β». , - 1.3, , ? .

, , branches.
1.3 branch, 1.3-master. 1.3 , . . . - .
, -, branch, 1.3-master. , . release engineers 1.3-master. development, QA, , 1.3-master.
- QA, , B 1.3.2, release engineer, . Release engineer scope , . , cherry-pick.

, β ? ?

, branch. , QA β branch.

branches , , , Github Flow, . , - , branch.

:
β , branches. .
Branches β , , , , branch - . . branches. .

. ? , , ?
?

, , , Github Flow , .
bugfix-, . .
?

β cherry-pick. , , cherry-pick β , Git .
bugfix release .
?
- merge-, merge .
-, . β work-in-progress, .
-, , , β merge-, β . , .

β cherry-pick -m. cherry-pick -m? cherry-pick . merge- , , bugfix. , , , merge. .
? , , . . , , merge.
, .

, β merge --squash. merge --squash? , merge- , squash-, , cherry-pick -m, A, B, C bugfix . merge- . . . , , cherry-pickβ .
, cherry-pick bugfixes . , - , merge --squash .

, , .
, , .

release branches , , -branches, .
, , release engineer, .
:

- bugfix, bugfix-. review , .

cherry-pick 1.5,

1.4,

1.3.

. , . . .
, . β Jira fix version. , , , , . , 1.3, 1.3.
, , release engineers?

, master-1.3, .

, scope 1.3-master.
, scope , 1.3.2.

, , , 1.3-master .
, 1.3-master .

- 1.3.2, , - B, .

, 1.3-master.

release engineer 1.3.2.


, :
, .
, .
:
- β .
- β .

, :
, release branches master branches. master branches. .
: master-first upstream first, , , .
, master branches. , branches, 1.1.1-master . . , .

?

β , .
, , . , upstream first, , . , branches , - - - , . . merges , - . .
, , . , . , git logβ Jira. , merge --squash , Jira issue.
fix version, Jira 1 1. , - - .

. Git, , . , .
, 1.1.10 - 1.2. ? 1.2.1?
.
, 1.1.10 , 1.2.1 3 . 1.1.10 . , , , 1.2.1.
, minor-, , .

, , . , , β .
, , , , , . .
, . , . 100 100. , .
, - , , Git, , , .
. ?

- , β , . , Git.
, .
, - .
Github Flow, Git Flow, - , , . , , , , - .
. .
master-first upstream first release master branches, , miner-.
- .
, : - Git Jira.
, .
!

! ! first? , , , 1.3. , 1.3. , 1.3 target .
, , , , , . , , , .
! , - , . , upstream first. . - Git Jira, . . merge . upstream first, , - 1.3 , , , , - .
, , , , , , , , , - , .
! ! , , ?
. . . , , , , β , . - , , , . - , - . , , , . , - , - , . . .
performance ?
- performance, - , , , . regression issue .
release engineer , - , ?
Github .
, ?
, , . , regression issue, - , , , . .
. , , .
frameworks , , . framework , - .
. 99 % . 1 %, performance - bugfixβ 2 , bugfix , - . , , , , .
! , «». , upstream first, , , 1.3. , 1.3, 1.5, 1.4, , 1.2? 1.5 ?
. , , , bugfix. , . , , . , , - .
, , . , . - , , , , . .
?
, . . , environment, , , .
. , , master-1.6?
master-1.6. - master-1.6 . , β , .
. , . ? . . - , , , - , - , - . . . 1.3, 1.3.1, 1.3.2, 1.3.3 . ?
. . . , ?
- , . , branches . , , . . . 1.3.3, 1.3.1.
, . 1.3.1, - , - .
, ? - , , . production , - , : Β«, , Β», , , . - , , , - operation. chance list . 1 000 . : Β« ?Β».
? , .
Mengapa? Kami memilih dan merilis versi minor atau mayor hanya dengan mengubah. Kompatibilitas istirahat utama, sedangkan minor tidak. Secara resmi tidak rusak, setidaknya. Tetapi sebagai bagian dari versi minor atau mayor, kami kemudian terus merilis patch secara independen pada mereka, sehingga customrs, setelah dirilis dalam prod pada versi minor, membuatnya lebih mudah untuk mengupgrade di dalamnya.