Die Basis: Definition eines optimierten GitHub-Entwicklungsprozesses
Unser Entwicklungsworkflow „DATA Passion smart DEVELOPMENT“ orientiert sich an verbreiteten Standards wie dem GitHub Flow. Wir haben hierbei aber einige Anpassungen vorgenommen, damit der Prozess optimal mit unserem Integrationsprodukt „DATA Passion smart CONNECT“ harmoniert. Durch entsprechende Branch Protection Rules, die auf der von uns verwendeten GitHub-Plattform definierbar sind, können so z. B. Code Reviews erzwungen werden. Dadurch ist sichergestellt, dass Feature Branches nur deployed werden können, wenn sie vorher von einem anderen Entwickler überprüft wurden.
Hierbei arbeiten wir nur mit Pull Requests, es ist also nicht möglich, direkt in geschützte Branches zu pushen. Während der Pull Request-Erstellung kann auch angegeben werden, ob nach einem positiven Review direkt ein automatisches Deployment in die Zielumgebung (Kubernetes) erfolgen soll.
Die Qualitäts-Automatisierung: Integration von Codacy
Um die Qualität unserer Entwicklungen zu maximieren, nutzen wir die automatische Codeanalyse-Plattform Codacy. Diese sucht in Repositories nach Stellen, an denen der Code z. B. anfällig für Sicherheitsprobleme sein könnte oder es zu Performance-Problemen kommen kann. Um sicherzustellen, dass diese Qualitätsprüfungen stets erfolgen, sind sie fest in unseren GitHub-Entwicklungsprozess integriert: Als Status Checks in den jeweiligen Branch Protection Rules werden sie bei jedem Pull Request ausgeführt und müssen erfolgreich durchlaufen werden, bevor ein Merge in den Ziel-Branch erfolgen kann.