Entwicklungsumgebung

Git

Git wurde zur Versionierung von sowohl client- als auch serverseitigem Code eingesetzt. Git eignet sich optimal für verteilte Projektteams, da Git keine ständige Verbindung zum Repository Server voraussetzt. Das flexible Branchingmodell unterstützt parallele und konfliktfreie Arbeit.

Die verfolgte Branchingstrategie richtet sich nach Vincent Driessens „successful Git branching modell“ Der Hautpentwicklungszweig ist hierbei der Branch dev. Von diesem Branch zweigen die jeweiligen Feature Branches (z.B. feature/canteen) ab. Dies hat zur Folge, dass mehrere Entwickler zur gleichen Zeit Änderungen an verschiedenen Stellen durchführen können – werden diese Änderungen zusammengeführt (durch einen merge auf dev) entsteht trotz der parallelen Arbeit ein sauberer Versionsgraph, der Änderungen sehr leicht nachvollziehbar und invertierbar macht. Releases werden mit einem merge auf den master branch dargestellt. Ein release sollte zusätzlich getaggt werden (alpha-0.0.1).

Siehe auch

Git-SCM Book

Gerrit, Jenkins

Google’s Gerrit ist ein Review Tool, dass zur Pflege des Android Source Codes entwickelt wurde. Gerrit arbeitet als „Hülle“ um ein Git Remote Repository. Jegliche Änderungen müssen zuerst in Gerrit durch ein push nach /refs/for/… bekannt gemacht werden. Ist der Code kontrolliert, kann dieser mit einem push nach /refs/ heads/… in das Repository übernommen werden.

Im Falle des Backends übernimmt der Build server Jenkins einen Teil des Reviews. Jede Änderung wird an Jenkins übermittelt, dort wird der Service kompiliert sowie gegen die Unit Tests getestet.

Diese Strategie stellt sicher, dass zu keiner Zeit fehlerhafter oder unstabiler Code in die Codebasis gelangt.

Siehe auch

Gerrit

Siehe auch

Jenkins

Siehe auch

Gerrit-Trigger

Inhalt