5 minute ignite (NL) about AMQ. The B@M project at NS (Nederlandse spoorwegen) uses a custom tool: AMQ. This tool makes sure the Git origin master is always releasable and feature branches are merged to the master automatically
3. 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
6. AMQ – pre AMQ - regeltjes
Besturing 3.0
• Voor mergen eerst op de master rebasen. Voorbeeld:
git rebase origin/master of git rebase origin/master_R3
Hierdoor 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> --force
Coordineer 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
7. AMQ - AMQ
Besturing 3.0
• Alleen via AMQ naar master
• Master altijd groen
• Geen lijstjes meer bijhouden wie mag
mergen
Zo min mogelijk paaltjes in het project. Met zijn allen hetzelfde doel nastreven en geen sub optimalisatie. Bijvoorbeeld zeer efficiënte technische realisatie en moeizame implementatie.