Einführung in Continuous Integration – Anwendungsentwickler-Podcast #92
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.
43 Minuten
Podcast
Podcaster
Beschreibung
vor 8 Jahren
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
Weitere Episoden
5 Minuten
vor 4 Wochen
11 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
8 Minuten
vor 4 Monaten
10 Minuten
vor 5 Monaten
In Podcasts werben
Kommentare (0)