Eine kontinuierliche Webseitenentwicklung - auch als Continuous Relaunch bekannt - hat in letzter Zeit an Bedeutung gewonnen. So hat sich die Versionierung von Software, in unserem Fall durch Git, sehr flächendeckend durchgesetzt. Bei punkt.de gehen wir in Punkto Qualitätssicherung und Workflows aber noch einen ganzen Schritt weiter.
Mit Jenkins, Surf und Vagrant zur Continuous Integration
Ein wichtiger Schritt zur Umsetzung von agilen Projekten bei punkt.de war die Einführung von einfachen und schnell durchführbaren Deployment-Prozessen: "Automatisierung" lautete das Zauberwort. Dafür haben wir einen Continuous Integration Workflow aufgesetzt, der es uns ermöglicht, Projekte ohne lange Redaktionsstops und langfristige Featureplanung dauerhaft zu entwickeln.
Diesen Teil unserer Arbeitsweise, die wir mit Jenkins, Surf und Vagrant umsetzen, haben wir hier genauer für Sie beschrieben.
Behat, Selenium und Unit Tests: weil Qualität uns wichtig ist
Ein ungeschriebenes Gesetz der Softwareentwicklung: Je später ein Fehler gefunden wird, desto teurer wird seine Behebung. Darum versuchen wir, an so vielen Stellen wie möglich automatisierte Tests einzusetzen, vor allem dann, wenn die Anwendungen komplexer werden.
Seit wir nicht nur Unit-Tests zur Überprüfung der grundsätzlichen Funktionalität von einzelnen Features einsetzen, sondern auch Behat und Selenium-Tests durchführen, sind wir in der Lage, das Browser-Verhalten im Frontend zu überprüfen. Dadurch können wir schon beim Deployen auf die Demo-Stage automatisiert überprüfen, ob durch die letzten Änderungen ein Fehler im System entstanden ist oder ob weiterhin alles stabil läuft. Erst durch diese Sicherheit in unserer Entwicklung sind wir in der Lage, die meisten unserer Projekte einmal die Woche auf das entsprechende Live-System zu deployen und damit sehr kleine Feature-Zyklen zu ermöglichen.
Auch hierzu finden sich weitergehende Informationen auf der Continuous Integration Seite.
GTmetrix und Gatling: Seiten auf verschiedenen Ebenen monitoren
Um die Rahmendaten einer Webseite jederzeit im Blick zu behalten und gegebenenfalls nachsteuern zu können, ist es sinnvoll, Dienste einzusetzen, welche die Seite von außen testen. Hierfür setzten wir Gatling und GTmetrix ein. Mit Gatling ist es möglich, die Performance regelmäßig durch Stresstests zu testen, GTmetrix Veränderungen in Größe und Geschwindigkeit der Webseite nach einem Deployment anzeigt.
Um eine dauerhafte Überwachung der Dienste zu garantieren, haben wir sie mit unserem Jenkins verknüpft und übertragen die Daten auf ein Dashing Dashboard direkt an Monitore in den Teamzimmern. Die Daten aus diesen Dashboards stellen wir selbstverständlich auch unseren Kunden jederzeit zur Verfügung.