こんにちは!私の名前はスタニスラフ・ルキャノフです。私はGridGainで働いています。今日は、Gitで古いバージョンを維持する方法についてお話ししたいと思います。
まず、どのようなレポートになるのか、誰が役立つのか、そして私は誰なのかについて少しお話します。
, .
:
- , , – .
- , , .
- , , , - .
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 . : « ?».
? , .
どうして?変更するだけでマイナーバージョンまたはメジャーバージョンを選択してリリースします。メジャーは互換性を損ないますが、マイナーはそうではありません。少なくとも正式には壊れません。ただし、マイナーバージョンまたはメジャーバージョンの一部として、引き続きパッチを個別にリリースします。これにより、マイナーバージョンで製品としてリリースされたカスタマーは、その中でのアップグレードが容易になります。