Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Winti Web Dev Talk #2

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Winti Web Dev Talk #2

Vor rund einem Jahr entschieden wir uns bei der Websoft für den Einsatz von Cloud-Services für Continuous Integration.
In diesem Talk werden wir davon erzählen, wir wir unseren angestaubten CI-Server in Rente schicken konnten und ganz nebenbei noch unsere Code-Qualität verbesserten. Ausserdem werden wir euch praxisnah zeigen, wie ihr einfach euren eigene cloud-basierte CI-Infrastruktur aufsetzen könnt.

Avatar for Websoft AG

Websoft AG

June 15, 2015

Other Decks in Technology

Transcript

  1. CLOUD-BASED CONTINUOUS INTEGRATION Winti Web Dev Talk #2
 15.06.2015 Lukas

    Steiner
 Websoft AG Jürg Gutknecht
 Websoft AG
  2. INTEGRATION • Zusammenführen der entwickelten Software- Teile zu einem System

    • Integration ist unter Umständen schwierig wegen Konflikten (Code, Abhängigkeiten) • Sollte deshalb häufig gemacht werden
  3. TESTING AND BUILDING • Unit Tests • Statische Code Analyse

    • UI Testing • Load Tests • Builds ausführen • …
  4. CONTINUOUS INTEGRATION • Integration wird automatisch durchgeführt • Tests werden

    ausgeführt und Reports erstellt • «Integration Hell» wird vermieden, weil Konflikte früh erkannt werden • Voraussetzung für Continuous Delivery
  5. EINSCHRÄNKUNGEN • Veraltete Hardware • Builds dauerten 30+ Minuten, Code

    Coverage Report konnte nicht erstellt werden • Während Builds konnte auf Staging nicht getestet werden
  6. EINSCHRÄNKUNGEN • Komplexe Infrastruktur • Trotz Dokumentation getraute sich niemand,

    die CI-Umgebung anzufassen • Staging und Production divergierten • Technologie-Upgrades aufwendig
  7. AUSLÖSER • Migration einer Anwendung von PHP 5.2 auf 5.5

    • Hardware ist veraltet • Ganze Infrastruktur muss neu aufgesetzt werden • Grundsätzliche Einschränkungen bestehen weiter
  8. VORTEILE • Besser skalierbar • Hardware • Anzahl Projekte •

    Ausführen von Selenium-Tests in gängigen Browser-OS-Kombinationen (anstatt mit altem Firefox unter Debian)
  9. ÜBERBLICK SERVICES Travis CI TestingBot Scrutinizer CI Continuous Integration Server

    Browser/Selenium Testing Statische Code- Analyse Ab USD129/Monat (Gratis für OSS) Ab USD40/Monat Ab EUR49/Monat (Gratis für OSS)
  10. TRAVIS CI • Einbindung von GitHub-Repositories • Einfache Konfiguration über

    ein YAML-File • Unterstützung diverser Technologien: PHP, Node, Java, Ruby, Python, Go, Erlang, MySQL, Elasticsearch, RabbitMQ und und und… • Verschiedene Deployment-Integrationen verfügbar (Heroku, Nodejitsu, AWS etc.)
  11. TESTINGBOT • Automatisiertes Selenium-Testing • Manuelles Browser-Testing • Grosse Auswahl

    an Browser- und OS-Versionen (Desktop und Mobile) • Integration in Travis-CI-Build
  12. SCRUTINIZER CI • Beinhaltet diverse Tools wie PHP_CodeSniffer, SensioLabs Security

    Checker etc. • Findet Code Smells, Bugs, Security Vulnerabilities etc. • Übermittlung der Code Coverage Reports von Travis an Scrutinizer • Unterstützt PHP, Python und Ruby (Java und Scala in Planung) • Einfache Konfiguration über YAML-File
  13. Q&A