|
|
@ -122,3 +122,54 @@ |
|
|
|
1.Den Commit testen auf Fehler |
|
|
|
2.Dann den Fehler beheben |
|
|
|
3.Und zu letzt implementieren |
|
|
|
|
|
|
|
|
|
|
|
# Kooperation im Softwareentwicklungsprozess, Woche 5 |
|
|
|
## Lernziele/Takeaway |
|
|
|
Um so komplexer ein Projekt wird umso mehr Mitarbeiter bracuht man. |
|
|
|
Die Zusammenführen von Einzelleistungen. |
|
|
|
Wie gewohnt kann es bei einer Gruppenarbeit zu persönlichen Konflikten kommen. Jeder |
|
|
|
Entwickler entwickelt ein Software unterschiedlich, diese kann zu Konflikten führen und |
|
|
|
den Fortschritt verlangsamen. |
|
|
|
|
|
|
|
Vorteile von CI Systemen |
|
|
|
Die automatisierte und formale Prozzesse können den Aufwand, sowie das Konfliktpotential |
|
|
|
verringern. |
|
|
|
Diese ist die Vorstufe von Continous Delivery. |
|
|
|
|
|
|
|
Softwareentwicklungsprozesse. |
|
|
|
Bei den Bestandteilen vom Softwareentwicklungsprozessen gehört natürlich das schreiben |
|
|
|
eines Codes. Abhängigkeitsverwaltung, Code veröffintlichung Integration und Bereitstellung |
|
|
|
gehören ebenfalls zu den Bestandteilen. |
|
|
|
|
|
|
|
Smantische Versionierung. |
|
|
|
MAJOR: inkompatible Änderung |
|
|
|
MINOR: zusätzliche Features, Programmteil bleibt abwärtskompatible |
|
|
|
PATCH: Fehlerbehebung. |
|
|
|
LABEL: spezifische Kennzeichnungen |
|
|
|
|
|
|
|
SCM |
|
|
|
Die individuelle Arbeit der Entwickler werden gesichert & für jeden verfügbar gestellt. |
|
|
|
Falls Dateien parallel geändert werden, werden sie zusammengefügt. |
|
|
|
|
|
|
|
Build-Prozess |
|
|
|
Bei den Prozessen sollte möglichst alles Übersetzt werden. Automatische Test ausführen. |
|
|
|
Hierbei sind belibte Tools: Bei C und gnu wird C/C++ bevorzugt, da keine |
|
|
|
Anhängigkeitsverwaltung nötig. |
|
|
|
|
|
|
|
Integration: |
|
|
|
SCM muss überwacht werden. Anschließend beginnt das Buidl-Prozess(Abhängigkeit auflösem -> |
|
|
|
compilieren -> automatisierte Tests ausführen -> Lieferartefakt erstellen -> Lieferartefakt |
|
|
|
ausliefern) und Ergebnisse berichten. |
|
|
|
|
|
|
|
privater fork |
|
|
|
-es gibt ein zentrales remote repository (=master) |
|
|
|
-jeder entwickkler hat sein eigenes remote repository |
|
|
|
-jedes locale repository hat 2 remote repositories. |
|
|
|
### Erkenntnise/preception |
|
|
|
Eine Zusammenarbeit mit verschiedenen Entwicklern kann zu Problemen führen, wenn |
|
|
|
man nicht auf gewissen sachen achtet. Man muss komunitieren und auf die Regeln achten. |
|
|
|
#### Wiederholung/repetition |
|
|
|
Automatisierte Test bringen viele Vorteile. Sie können Fehler vorbeugen und können |
|
|
|
gezielt einzelne Teile des Programms testen. Sie erkennen Laufzeit Fehler und können |
|
|
|
wiederholt werden. |