IT-Berufe-Podcast

Einführung in Continuous Integration – Anwendungsentwickler-Podcast #92


Listen Later

Eine Einführung in die kontinuierliche Integration – Continuous Integration – gibt es in der zweiundneunzigsten Episode des Anwendungsentwickler-Podcasts.

Inhalt
Voraussetzungen
  • Völlig unabhängig von Programmiersprache oder Plattform.
  • Theoretisch auch ohne separate Software umsetzbar, aber einfacher mit etablierten Lösungen wie Jenkins, Team Foundation Server, Travis CI, Teamcity oder CruiseControl.
  • Alle Artefakte (Code, Oberflächen, Konfiguration usw.) müssen in der Versionsverwaltung liegen.
  • Ein automatischer Build des Projekts muss möglich sein (z.B. mit Gradle oder MS Build).
  • Der Build sollte möglichst schnell sein.
  • Die Funktionalität sollte mit automatischen Tests abgedeckt sein.
  • Entwickler müssen häufig – mindestens täglich – committen.
  • Vorteile
    • Das Projekt ist jederzeit auf dem neusten Stand automatisiert baubar.
    • Vermeidung von „Works on my Machine“.
    • Vermeidung langer Integrationsphasen vor Deployments.
    • Erziehung der Entwickler zu kleinen Commits, sauberem Code und automatisierten Tests.
    • Projektbeteiligte bekommen jederzeit kurzfristiges Feedback zum Projektstand.
    • Statische Codeanalyse ist möglich.
      • Einhaltung von Code-Konventionen, z.B. mit Checkstyle.
      • Finden/Verhindern von Bugs, z.B. mit FindBugs.
      • Codeabdeckung durch Tests, z.B. mit JaCoCo.
      • Visualisierung von Abhängigkeiten, z.B. mit JDepend.
      • Trends können erkannt werden.
      • Artefakte können automatisch im Repository abgelegt werden.
      • Automatisches Deployment in eine Testumgebung kann stattfinden.
      • Mögliche Erweiterungen
        • Verschiedene Strategien für die Versionierung möglich, z.B. Feature Branches oder Feature Toggles.
        • CI ist die Basis für Continuous Delivery und Continuous Deployment.
        • Literaturempfehlungen

          Für Jenkins gibt es inzwischen eine eigene Konferenz, deren Videos größtenteils bei Confreaks verfügbar sind: Jenkins User Conference.

          Links
          • Permalink zu dieser Podcast-Episode
          • RSS-Feed des Podcasts
          • Kontinuierliche Integration – Wikipedia
          • Continuous Integration
          • Unterschiede zwischen Continuous Integration, Continuous Delivery und Continuous Deployment – Scrum.de
          • CI-Server bei heise Developer
          • Version Control Strategies
          • ...more
            View all episodesView all episodes
            Download on the App Store

            IT-Berufe-PodcastBy Stefan Macke

            • 5
            • 5
            • 5
            • 5
            • 5

            5

            1 ratings


            More shows like IT-Berufe-Podcast

            View all
            Streitkräfte und Strategien by NDR Info

            Streitkräfte und Strategien

            47 Listeners

            Sternengeschichten by Florian Freistetter

            Sternengeschichten

            45 Listeners

            Geschichten aus der Geschichte by Richard Hemmer und Daniel Meßner

            Geschichten aus der Geschichte

            197 Listeners

            c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

            c’t uplink - der IT-Podcast aus Nerdistan

            7 Listeners

            MORD AUF EX by Leonie Bartsch & Linn Schütze

            MORD AUF EX

            120 Listeners

            {ungeskriptet} - Gespräche, die dich weiter bringen by Ben Berndt

            {ungeskriptet} - Gespräche, die dich weiter bringen

            24 Listeners