Kursüberblick
Eine stabile Build-Umgebung ist essenziell, um in den einzelnen Phasen eines Softwareentwicklungsprojektes den überblick über den Entwicklungsstand zu behalten. In diesem Seminar lernen Sie, wie Sie interne und externe Abhängigkeiten verwalten und kontinuierlich den Status Ihres Projektes überwachen können. Nach diesem Seminar kennen Sie praxisbewährte Verfahren und Werkzeuge, um eine Build-Umgebung für Java-Projekte planen, erstellen und pflegen zu können.
Zielgruppe
Software-Ingenieure, Anwendungsentwickler, Projektleiter.
Voraussetzungen
Java Erweiterungen I (JAVA-ERW-1) ,Java Intensivtraining für Sprachumsteiger mit Erfahrung in OOP (JAVA-INTENSIV) oder vergleichbare Kenntnisse. Kenntnisse über Projektorganisation und -management.
Kursinhalt
Überblick:
- Build-Manager als eigene Rolle in der Entwicklung
- DevOps
- Warum automatisieren?
- Konfigurationsmanagement und QS
- Dokumentation
- Wartung
Der Build-Prozess:
- Der CRISP-Build
- Dependency Management
- Ant
- Ivy
- Gradle
Build-Management mit Maven:
- Projektstruktur
- Das Project Object Model (POM): Koordinaten, Dependencies, Parent-Mechanismus
- Der Build-Lifecycle
- Multimodul-Projekte
- Wichtige Maven PlugIns: überblick, Beispiele
Infrastruktur:
- Der STACC-Server
- Sourcecode-Management
- Git und Subversion
- Ticket-System
- Artifact-Repository
- Continuous Integration
- Kommunikation
- Aufbau und Inbetriebnahme
- Aufsetzen eines Repositories
- SonarQube
- Review-Systeme
Continuous Integration:
- Einordnung in den Build-Prozess und der Open Source Cl-Server Hudson/Jenkins
- Build-Pläne
- Build-Kaskaden
- Dokumentation und Reporting
- Benachrichtigungsstrategien (Mail, IM, IRC, SMS, "Lavalampe")
Continuous Delivery:
- Reproduzierbare Releases
- Abgrenzung
- CRISP-Deployment
- System/Application Division
- Application/Configuration Division
- Container Deployment
- Datenbank-Migrationen
- Tooling
- Stages/Umgebungen
Prozesse:
- Entwicklungsmodelle
- Rechte und Rollen
- Umgang mit externen Artefakten
- Ticket-Workflows+G2