Auto Merge Queue

10

Transcript of Auto Merge Queue

Page 1: Auto Merge Queue
Page 2: Auto Merge Queue

Besturing 3.0 – B@M

AMQAutomatic Merge Queue

Corstiaan Kamp

Page 3: Auto Merge Queue

AMQ - Waarom

• 4 scrum teams die op hetzelfde tijdstip spullen naar master willen brengen

• Tijdsdruk/groepsdruk voor degene die op vrijdag de release gaat maken.

• Menselijke fouten waardoor master rood wordt• Tijd verlies

Besturing 3.0

Page 4: Auto Merge Queue

AMQ - Doel

• Ontwikkel proces versnellen• Origin/Master altijd releasebaar houden• Verminderen menselijke fouten

Besturing 3.0

Page 5: Auto Merge Queue

AMQ – Werkwijze pre AMQ

Besturing 3.0

Page 6: Auto Merge Queue

AMQ – pre AMQ - regeltjes

Besturing 3.0

• Voor mergen eerst op de master rebasen. Voorbeeld:    git rebase origin/master of git rebase origin/master _R3Hierdoor worden alle changes die op de master stonden onder de branch geschoven.

• Na rebasen een groene teampipe krijgen; daarvoor is het nodig om de changes op de origin van de branche te krijgen.Om de changes op de origin van de branch te krijgen, moet het volgende command worden uitgevoerd:PAS OP! Dit commando herschrijft de git-historie. Doe dit commano nooit op de master, maar alleen op een branch! Overleg bij twijfel met een integrator    git push origin <BRANCHNAAM HIER> --forceCoordineer dit onderling, als nog meer mensen op de branch werken; zij zullen na deze actie moeten pullen

• Als de teampipe groen is, dan kan in principe de branch gemerged worden naar de master. Om het terugdraaien van merges te vereenvoudigen dient er ten alle tijden een “merge commit” te worden gemaakt. Doe dit als volgt:    git checkout master    git merge --no-ff <BRANCHNAAM HIER> Uit deze merge zouden geen conflicts mogen komen. Als dat toch gebeurt, is iemand er tussendoor gekomen met terugmergen naar de master, of heeft iemand direkt op de master gepusht.

• Push naar de master

Page 7: Auto Merge Queue

AMQ - AMQ

Besturing 3.0

• Alleen via AMQ naar master• Master altijd groen• Geen lijstjes meer bijhouden wie mag mergen

Page 8: Auto Merge Queue

AMQ – Jenkins

Besturing 3.0

Page 9: Auto Merge Queue

AMQ – no silver bullet

Besturing 3.0

Page 10: Auto Merge Queue

AMQ – happy developers

Besturing 3.0