continuous integration devops
Was ist kontinuierliche Integration in DevOps?
Bisher haben wir Teil 1 und Teil 2 dieses Themas in unseren vorherigen Sitzungen und derzeit in Teil 3 behandelt.
Beispiel für eine Webanwendung für ein Testplandokument
Bis Teil 2 haben wir uns mit den Menschen- und Prozessaspekten von DevOps befasst, nämlich der Zusammenarbeit und dem Fokus auf das gemeinsame Ziel, die gemeinsame Denkweise und das gemeinsame Denken im Team, das zur Erreichung der Ziele von DevOps beiträgt.
In unserem letzten Tutorial haben wir Kenntnisse über gewonnen So entwickeln Sie die Zusammenarbeit in DevOps .
Auschecken => Ultimativer Leitfaden für DevOps
Kontinuierliche Integration, kontinuierliches Testen, kontinuierliche Bereitstellung und kontinuierliche Bereitstellung sind die wichtigsten technischen Aspekte von DevOps.
VIDEO Teil 3 Block 1: Kontinuierliche Integration- 12 Minuten 20 Sekunden
Transkript:
Im letztenZum Teil haben wir Praktiken von DevOps gelernt, unter denen wir gelernt haben, welche Teile von agilen Prinzipien von DevOps-Praktiken übernommen werden.
Wie werden die Ziele von DevOps durch diese Prinzipien erreicht?
Wir haben die Bedeutung der Versionskontrolle, Automatisierung und Bereitstellung kleiner Wertzuwächse für Kunden und deren Vorteile untersucht.
Was ist Zusammenarbeit im Kontext von DevOps und wie erreichen wir sie?
Bisher haben wir über den Personen- und Prozessaspekt von DevOps gesprochen, dh Zusammenarbeit und Konzentration auf ein gemeinsames Ziel und eine gemeinsame Denkweise und ein gemeinsames Denken innerhalb des Teams, das zur Erreichung der Ziele von DevOps beiträgt. Lassen Sie uns nun einige technische Aspekte von DevOps kennenlernen , was eine DevOps-Veröffentlichung ermöglicht.
Sie sind kontinuierliche Integration, kontinuierliche Lieferung und Bereitstellung sowie kontinuierliche Tests.
Lassen Sie uns als Teil von Block 1 von Teil 3 zuerst studieren 'Kontinuierliche Integration'.
Was ist kontinuierliche Integration?
Kontinuierliche Integration -> CI -> Satz von Prozessen -> Pipeline erstellen / CI-Pipeline
Die kontinuierliche Integration, in DevOps kurz als 'CI' bezeichnet, ist ein wichtiger Prozess oder eine Reihe von Prozessen, die als Teil einer Pipeline mit dem Namen 'Build Pipeline' oder 'CI Pipeline' definiert und ausgeführt werden.
Wir wissen, dass wir in der DevOps-Praxis ein einziges Tool zur Versionskontrolle für das Entwicklungs- und das Betriebsteam haben, bei dem jeder Code als Mastercode-Basis abgelegt wird und das Team so parallel arbeiten kann.
Kontinuierliche Integration in DevOps ist also nichts anderes als das Zusammenführen von Code einzelner Entwickler in der Masterkopie des Codes in den Hauptzweig, in dem die Versionskontrolle verwaltet wird. Es gibt keine zeitliche Beschränkung für die Codezusammenführung, die an einem Tag erfolgen muss.
Sobald der Entwickler seinen Code in die Versionskontrolle eincheckt, beginnt sofort der Prozess des CI-Kick.
Was ist der beste DVD-Ripper
Der CI-Prozess umfasst:
- Zusammenführen des gesamten Entwicklercodes mit der Hauptzeile,
- Auslösen eines Builds,
- Den Code kompilieren und einen Build erstellen und ... zuletzt
- Unit-Test durchführen.
Bei der kontinuierlichen Integration handelt es sich also um einen Prozess, bei dem der gesamte Code des Entwicklers an einem zentralen Ort zusammengeführt und jede einzelne Zusammenführung mit einem automatisierten Build und Test validiert wird.
Technisch zu erklären, was während CI passiert, ist:
Es wird einen Server für die kontinuierliche Integration geben, auf dem sich der Server befindet CI-Tool , das das Tool zur Versionskontrolle beim Einchecken des Codes überwacht und sobald ein Einchecken gefunden wird, die automatisierte Kompilierung auslöst, Komponententests zusammen mit statischen Codeanalysen und einer grundlegenden Ebene automatisierter Sicherheitstests erstellt und ausführt .
Die verschiedenen Tools zur Durchführung der automatisierten Tests, wie Jenkins, TestNG, NUnit zur Durchführung von Unit-Tests, Sonar zur Durchführung der statischen Code-Analyse und die Verstärkung zur Durchführung der Sicherheitstests, werden alle in die CI-Pipeline integriert .
Die gesamte CI-Pipeline ist also ein automatisierter Prozess ohne manuellen Eingriff und läuft innerhalb weniger Sekunden oder Minuten.
Der Hauptvorteil des CI ist also das schnelle Feedback, das die Entwickler innerhalb kürzester Zeit erhalten.
- Das CI wird ausgeführt, nachdem der Entwickler den Code eingecheckt hat, und gibt die Ergebnisse in Sekunden aus. So können die Entwickler sofort feststellen, ob ihr Code erfolgreich erstellt oder beschädigt wurde.
- Außerdem wird dem Entwickler mitgeteilt, ob sein Code erfolgreich in den Code des anderen integriert oder fehlerhaft ist, was ein anderes Teammitglied mit einem anderen Teil der Codebasis getan hat. Daher führt CI die schnellere Code-Analyse durch und macht die späteren Zusammenführungen einfacher und fehlerfrei.
CI ist also ein automatisierter Prozess, bei dem der Build bei jedem Code-Check-in ausgelöst, kompiliert, erstellt und automatisierte Komponententests für den Build ausgeführt werden.
Wir können CI auch als COP oder Prozess zur Überprüfung aufrufen, ob jeder Code im Team ein guter oder gültiger Code ist oder nicht, da der CI-Prozess bei jedem Einchecken sofort kompiliert und erstellt wird und Fehler auslöst, wenn es sich um einen schlechten Code handelt. oder es kann nicht kompiliert werden oder die automatisierten Unit-Testfälle nicht durchlaufen.
Was sind die Vorteile von CI?
Erstens ist der gesamte CI-Prozess ein automatisierter Prozess und minimiert somit das menschliche Versagen, indem die langen, fehlerauslösenden manuellen Zusammenführungen reduziert werden.
Eine beliebige Anzahl von Personen kann ihren Code jederzeit an einem Tag einchecken, ohne darauf zu warten, dass andere ihre Codierung abschließen. Warten Sie, bis sie ihren Check-in und den späteren Check-in abgeschlossen haben. CI entfernt also die Abhängigkeit oder die Wartezeit anderer Check-ins.
Somit müssen die Teammitglieder nicht warten, bis die anderen Teammitglieder ihren Check-in abgeschlossen haben, und können daher parallel arbeiten.
Jedes Einchecken hört nicht bei der Versionskontrolle auf, sondern wird sofort durch die Build-Formation und automatisierte Tests qualifiziert. Daher wird jeder Check-in an der Wurzel selbst zur weiteren Verarbeitung validiert.
Es besteht keine Möglichkeit, den Code eines anderen zu verpassen, da der Code eines jeden in die Masterkopie mit dem Zeitstempel eingecheckt und somit ordnungsgemäß aufgezeichnet wird.
Der gesamte Prozess des Kompilierens, Erstellens und Testens dauert nur wenige Sekunden und ist daher schneller und schneller. Er spart viel Zeit und trägt somit dazu bei, das DevOps-Ziel zu erreichen, über einen Zeitraum von wenigen Stunden schneller zu liefern.
Da der gesamte Prozess des Erstellens und Testens einige Sekunden bis Minuten dauert, ist das Feedback zum Code von Personen sehr schnell und wir müssen nicht herumlaufen, um herauszufinden, wessen Code den Build gebrochen oder den Fehler verursacht hat, wie bei jedem Beim Einchecken wird die Erfolgs- oder Fehlerausgabe angezeigt, die den Fehlerbereich angibt, wenn ein Fehler vorliegt.
Auf diese Weise kann der Entwickler die kleine Menge an Code zeitweise, möglicherweise sogar eine einzelne Codezeile, einchecken, um sicherzustellen, dass sie fehlerfrei ist, und dem Entwickler das Vertrauen geben, dass sein Code gut ist und auch andere nicht beschädigt Code. Insgesamt trägt dies zur Verbesserung der Codequalität bei.
Lassen Sie uns hier eine Pause einlegen und die kontinuierliche Bereitstellung und das kontinuierliche Testen in den kommenden Video-Tutorials aufgreifen.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Kontinuierliche Lieferung in DevOps
- Kontinuierliche Bereitstellung in DevOps
- Kontinuierliches Testen in DevOps
- So entwickeln Sie die Zusammenarbeit in DevOps-Teams
- DevOps Tutorial: Der ultimative Leitfaden für DevOps (25+ Tutorials)
- Zusammenfassung der DevOps-Video-Tutorials
- Zusammenarbeit in DevOps
- Top 10 Tools für kontinuierliche Tests zum Testen von DevOps (Liste 2021)