From 4a70414f8a37743a18d7fe010a8b39bb1bf87fb0 Mon Sep 17 00:00:00 2001 From: Emmanuel DotseAfanyede Date: Wed, 18 Jan 2023 19:17:43 +0100 Subject: [PATCH] continuous integration --- lerntagebuch.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/lerntagebuch.md b/lerntagebuch.md index 4a01a89..e5cfcae 100644 --- a/lerntagebuch.md +++ b/lerntagebuch.md @@ -211,7 +211,7 @@ Das Ziel des Unit-Tests besteht darin, herauszufinden, ob dieser Codeabschnitt genau wie beabsichtigt funktioniert. Codeteile, die in den meisten Programmiersprachen normalerweise Unit-Tests unterzogen werden, sind Funktion, Methode usw. -## SU 7 (2023-01-11) +## SU 8 (2023-01-11) ### Lernziel @@ -232,4 +232,30 @@ ie Widerholung von TDD ist ein wichtiger Bestandteil des Prozesses. Durch das ständige Schreiben von Tests und das Überprüfen des Codes auf Fehler können Entwickler sicherstellen, dass ihre Software stabil und zuverlässig bleibt. Dies ermöglicht es ihnen auch, schnell auf Änderungen und Anforderungen reagieren zu können und sicherzustellen, dass ihre Software den Anforderungen entspricht. - Zusammengefasst ist Test Driven Development eine Methode zur Softwareentwicklung, bei der zuerst Testfälle erstellt werden, bevor der tatsächliche Code geschrieben wird. Das Ziel ist es, die Qualität und Zuverlässigkeit der Software zu verbessern. \ No newline at end of file + Zusammengefasst ist Test Driven Development eine Methode zur Softwareentwicklung, bei der zuerst Testfälle erstellt werden, bevor der tatsächliche Code geschrieben wird. Das Ziel ist es, die Qualität und Zuverlässigkeit der Software zu verbessern. + + + +## SU 9 (2023-01-18) + +### Lernziel + +#### Was ist CI(Continuous Integration)? + + CI (Continuous Integration) ist eine Methode zur schnellen und regelmäßigen Integration von Änderungen in ein Softwareprojekt. Es ermöglicht eine schnellere Fehlerbehebung und verbessert die Qualität der Software, indem es automatisierte Tests und Builds durchführt. Durch die Verwendung von CI kann ein Team schneller und effizienter zusammenarbeiten und sicherstellen, dass die Software auf einem stabilen und konsistenten Zustand bleibt. Es ist ein wichtiger Bestandteil des Softwareentwicklungsprozesses und trägt dazu bei, die Entwicklungszeit zu verkürzen und die Qualität der Software zu verbessern. + + +### Erkenntnis + + Continuous Integration (CI) ist ein Prozess, bei dem Entwickler ihren Code regelmäßig in einen gemeinsamen Code-Pool einbringen und automatisierte Tests durchführen, um sicherzustellen, dass der Code fehlerfrei ist und problemlos integriert werden kann. Es gibt jedoch Widersprüche zwischen Kreativität und Konformität, technischen Konflikten und persönlichen Konflikten, die bei der Implementierung von CI auftreten können. Der Aufwand für die Einrichtung und Pflege von CI-Systemen kann auch hoch sein. + + + +### Widerholung + +#### Vorteile von CI Systemen + CI-Systeme (Continuous Integration-Systeme) bieten viele Vorteile, wie die Verringerung formaler Prozesse, das Verringern des Konfliktpotentials, die Automatisierung von Prozessen und die Senkung des Aufwands. Sie sind auch eine wichtige Vorstufe für die Continuous Delivery, die eine schnellere und effizientere Bereitstellung von Anwendungen ermöglicht. + +#### Aufbau eines CI/CD-System + + Ein CI/CD-System besteht aus mehreren Komponenten, die zusammenarbeiten, um eine automatisierte und schnelle Bereitstellung von Software zu ermöglichen. Die Entwicklungsumgebung des Programmierers ermöglicht es ihm, den Code zu erstellen und zu testen. Das Source Code Management System (SCM) verwaltet die Versionskontrolle des Codes. Die Abhängigkeitenverwaltung sorgt dafür, dass alle benötigten Bibliotheken und Abhängigkeiten vorhanden sind. Das Build-Werkzeug übersetzt den Code in eine ausführbare Form. Der Continous Integration Server führt automatisierte Tests aus und baut den Code, wenn er erfolgreich ist. Erweiterungen für Continous Delivery ermöglichen die automatische Bereitstellung des Codes an eine Produktionsumgebung. \ No newline at end of file