Gitでの製品の複数のバージョンの開発をサポートします。スタニスラフ・ルキャノフ(GridGain)



こんにちは!私の名前はスタニスラフ・ルキャノフです。私は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. .



, , , , .





, , . , , - , , , .





, :



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




:



  1. . , - . , , , QA .
  2. . - , , , .
  3. :


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





.





?



  1. , release branches. .
  2. , ? , .


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


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







, :



  1. , .



  2. , .



  3. :





  • – .
  • – .




, :



  1. , release branches master branches. master branches. .



  2. : master-first upstream first, , , .



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



. ?





  1. , – , . , Git.


  • , .



  • , - .





  1. Github Flow, Git Flow, - , , . , , , , - .



  2. . .





  • master-first upstream first release master branches, , miner-.





  1. .


  • , : - 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 . : « ?».



? , .



どうして?変更するだけでマイナーバージョンまたはメジャーバージョンを選択してリリースします。メジャーは互換性を損ないますが、マイナーはそうではありません。少なくとも正式には壊れません。ただし、マイナーバージョンまたはメジャーバージョンの一部として、引き続きパッチを個別にリリースします。これにより、マイナーバージョンで製品としてリリースされたカスタマーは、その中でのアップグレードが容易になります。




All Articles