Einführung in Continuous Integration – Anwendungsentwickler-Podcast #92
IT-Berufe-Podcast - Podcast készítő Stefan Macke - Hétfők

Kategóriák:
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