##entfällt: LE 10 | ANT - Buildmanagement Flashcards
1
Q
Definition Buildmanagement
A
- Buildmanagement beschreibt einen Prozess, bei dem ein Softwareprodukt transparent und wiederholbar erstellt wird
- Grundidee schneller automatisierter Builds ist es, lntegrationsprobleme schnellstmöglich zu erkennen und zu beheben
2
Q
Voraussetzungen für Automatisierung
A
Voraussetzungen für Automatisierung
- Eine stabile Umgebung (zb Namensräume, etc) unter der der Prozess ablaufen kann
- Der Build-Vorgang muss anhand einer Buil-Sprache programmiert werden
- Der Build muss mit einem Werkzeug ausgeführt werden können (make, ant, etc)
- Der Build muss klar definierte Ergebnisse und Logs liefern
3
Q
Was wäre ohne Buildmanagement?
A
Was wäre ohne Buildmanagement?
- Software läuft nicht und keiner weiß warum
- Abläufe würden vergessen (Fehler im Compiler, abhängigkeiten, etc)
- Keine zentrale Dokumentation über den Erstellungsprozess sondern Wissen bei einzelnen Mitarbeitern
- Versionierung müsste von Hand geschehen
- Manuelles Anstoßen von Prozessen (zb Testen, Dokumentieren) würde viel Zeit in Anspruch nehmen
4
Q
Continous Integration
A
Continous Integration
- Ist eine Vorgehensweise Software zu entwickeln (V . o Tägliche Arbeit jedes Entwicklers trägt dazu bei das mehrmals täglich integriert wird
- Diese lntegrationsbuilds werden von dem automatisierten Build überprüft (Tests, etc)
- Dadurch werden Fehler schnell gefunden
- Zusammehängende Software kann schneller erstellt werden, da weniger lntegrationsprobleme auftauchen
5
Q
Wesentliche Elemente und Voraussetzungen des Continous-lntegration-Vorgehen
A
Wesentliche Elemente und Voraussetzungen des Continous-lntegration-Vorgehen
- Buildmanagement
- Verwendung von Repositorys / Versionskontrolle für Quellen
- Automatisierung des Buildprozesses
- Automatisiertes Testen des Produktes im Buildprozess
- Neuen Code täglich einchecken, sofern er getestet ist
- Schnelles Einchecken von korrektem Code zeigt sofort ob es lntegrationsprobleme gibt (nach dem Build)
- Entwickler können sofort kommunizieren und es werden Probleme in späteren Phasen verhindert
6
Q
Build-Varianten
A
Build-Varianten
- Buildprozess überlicherweise in Stufen eingeteilt
- Eine Stufe wird auch Stage genannt
- Stage-Build ist ein Build, bei dem die Stufen nacheinander durchlaufen werden (Stage-Server auf dem Commited und Gebuildet wird)
- Commit-Build:
- Wenn neuer Code integriert wird heißt der erste Build commit-Build
- Es wird sichergestellt das Tests durchgeführt werden und der Build für das Hauptprogramm erstellt werden kann
- Secondary-Build (nach dem commit-Build)
- Nach dem Commit Build folgen weitere Builds (zB secondary Build)
- intensivere Tests durchführen
- Produkt gezielter vollenden
- Behandelt Prozesse die weiter hinten anstehen (zB war-archiv erstellen und auf JEE-Server ausführen)
- wenn auch die hinteren Prozesse problemlos durchgeführt wurden können die Builds als erfolgreich angesehen werden
- nach dem erfolgreichen letzten Build folgt der „Final Deployed Code
7
Q
Konfigurationsmanagement
A
Konfigurationsmanagement
- Management-Vorgehensweise bei dem die Konfigurationseinheiten (Attribute des Produktes) über den ganzen Lebenszyklus verwaltet und definiert werden (Hardware, Software, Dienstleistugen)
- Buildmanagement ist Teil des Konfigurationsmanagements
- Das Buildmanagement-Skript definiert und dokumentiert zentral wie die Software zu konfigurieren ist (Plattform, Anforderungen, Installation, etc.)