CI/CD erklärt
CI/CD ist ein Oberbegriff, der tatsächlich mehrere DevOps-Phasen abdeckt. CI (Continuous Integration, kontinuierliche Integration) bezeichnet die Praxis, Codeänderungen mehrmals täglich in ein Repository zu integrieren. CD hat zwei Bedeutungen: Continuous Delivery (Kontinuierliche Übermittlung) automatisiert die Integration des Codes, während Continuous Deployment (Kontinuierliche Bereitstellung) die Bereitstellung der endgültigen Builds für die Endbenutzer bezeichnet. Die häufigen Tests im Rahmen von CI/CD reduzieren die Anzahl der Fehler und Defekte und machen CI/CD zu einem wichtigen Bestandteil jedes DevOps-Workflows.
CI ist eine Best Practice für DevOps und zugleich die Phase im DevOps-Lebenszyklus, in der Entwickler Code in das gemeinsame Code-Repository einchecken, oft mehrmals am Tag. Im Idealfall prüft dabei ein automatisches Build-Tool den eingecheckten Code oder die Verzweigung, um sicherzustellen, dass keine Fehler enthalten sind und der Code in die Produktion übernommen werden kann. Der Hauptvorteil besteht darin, dass Probleme in der Regel frühzeitig abgefangen werden, noch bevor sie sich zu größeren Problemen auswachsen.
CI bedeutet in der Praxis, Änderungen in kleinem Umfang in kürzerer Zeit anstelle umfangreicher Aktualisierungen zu integrieren, die mehr Zeit benötigen, aber weniger häufig vorkommen. Die Automatisierung der Arbeitsabläufe für Test, Zusammenführen und Einchecken von Änderungen in ein gemeinsames Repository ermöglicht die Bereitstellung von fehlerfreierem Code in kürzerer Zeit. Sauberer Code dieser Art beschleunigt die Validierung, sorgt für fehlerfreiere Veröffentlichungen und zugleich für eine effizientere Entwicklungspipeline, die leichter zu skalieren ist.
CI ist eine Best Practice für DevOps und zugleich die Phase im DevOps-Lebenszyklus, in der Entwickler Code in das gemeinsame Code-Repository einchecken, oft mehrmals am Tag. Im Idealfall prüft dabei ein automatisches Build-Tool den eingecheckten Code oder die Verzweigung, um sicherzustellen, dass keine Fehler enthalten sind und der Code in die Produktion übernommen werden kann. Der Hauptvorteil besteht darin, dass Probleme in der Regel frühzeitig abgefangen werden, noch bevor sie sich zu größeren Problemen auswachsen.
CI bedeutet in der Praxis, Änderungen in kleinem Umfang in kürzerer Zeit anstelle umfangreicher Aktualisierungen zu integrieren, die mehr Zeit benötigen, aber weniger häufig vorkommen. Die Automatisierung der Arbeitsabläufe für Test, Zusammenführen und Einchecken von Änderungen in ein gemeinsames Repository ermöglicht die Bereitstellung von fehlerfreierem Code in kürzerer Zeit. Sauberer Code dieser Art beschleunigt die Validierung, sorgt für fehlerfreiere Veröffentlichungen und zugleich für eine effizientere Entwicklungspipeline, die leichter zu skalieren ist.
CI ist eine Best Practice für DevOps und zugleich die Phase im DevOps-Lebenszyklus, in der Entwickler Code in das gemeinsame Code-Repository einchecken, oft mehrmals am Tag. Im Idealfall prüft dabei ein automatisches Build-Tool den eingecheckten Code oder die Verzweigung, um sicherzustellen, dass keine Fehler enthalten sind und der Code in die Produktion übernommen werden kann. Der Hauptvorteil besteht darin, dass Probleme in der Regel frühzeitig abgefangen werden, noch bevor sie sich zu größeren Problemen auswachsen.
CI bedeutet in der Praxis, Änderungen in kleinem Umfang in kürzerer Zeit anstelle umfangreicher Aktualisierungen zu integrieren, die mehr Zeit benötigen, aber weniger häufig vorkommen. Die Automatisierung der Arbeitsabläufe für Test, Zusammenführen und Einchecken von Änderungen in ein gemeinsames Repository ermöglicht die Bereitstellung von fehlerfreierem Code in kürzerer Zeit. Sauberer Code dieser Art beschleunigt die Validierung, sorgt für fehlerfreiere Veröffentlichungen und zugleich für eine effizientere Entwicklungspipeline, die leichter zu skalieren ist.
Die kontinuierliche Übermittlung folgt auf CI. Sie dient in der Entwicklungspipeline der Kontrolle, bevor dann das Endprodukt veröffentlicht oder für Kunden bereitgestellt wird. Sobald die Codeänderungen validiert wurden, werden sie automatisch in das Repository übernommen.
Ein Ziel der kontinuierlichen Bereitstellung besteht darin, die Änderungssätze so klein zu halten, dass die Aktualisierungen des Hauptbuilds den Status des Endprodukts als „produktionsbereit“ nicht beeinträchtigen, wenn es noch nicht veröffentlichungsfähig ist. Das Endprodukt kann kleinere Fehler enthalten, die aber nicht so gravierend sind, dass sie die Benutzererfahrung beeinträchtigen.
Die Umsetzung der kontinuierlichen Übermittlung bedeutet, dass die Entwickler weniger Zeit für interne Tests aufwenden müssen, weil das gesamte Verfahren sicherstellt, dass nur stabiler Code in die Übermittlungsphase gelangt. Die Fehlererkennung wird vereinfacht und die Zeit bis zur Fehlerbeseitigung dadurch verkürzt.
DevOps ist Ausdruck einer Kultur und repräsentiert einen Prozess – beides gerichtet auf effizientere Softwareentwicklung.
Eine CI/CD-Pipeline besteht aus spezifischen Phasen, die jeweils mit Tools und Automatisierungen verknüpft sind und den DevOps-Lebenszyklus ins Werk setzen. CI/CD ist integraler Bestandteil einer DevOps-Kultur. DevOps umfasst dagegen den gesamten Lebenszyklus der Softwareentwicklung – Zusammenarbeit, Teamstruktur, Überwachung, Versionskontrolle und vieles mehr.
Die Implementierung von DevOps ist in weiten Teilen organisationsabhängig. Ohne CI/CD lässt sich DevOps jedoch nicht umsetzen. Eine CI/CD-Pipeline ist untrennbar mit einer DevOps-Kultur und ihren kleinen Releases in hoher Frequenz verbunden.
Die Nutzung von CI/CD-Verfahren im DevOps-Lebenszyklus beschleunigt die Entwicklung, indem manuelle Arbeiten zur Validierung und Bereitstellung von Änderungen in der Codebasis automatisiert werden.
Durch das Einchecken vieler kleiner Änderungen im Tagesverlauf wird die Gefahr, dass Fehler in den Quellcode eingeschleust werden, die Builds beeinträchtigen, erheblich verringert.
Wenn mit CI/CD kleinere Änderungssätze häufiger zusammengeführt werden, lassen sich Codefehler einfacher erkennen und beheben, bevor sie sich zu einem größeren Problem auswachsen.
Mit CI/CD werden Feedbackschleifen verkürzt, weil kleinere, aufeinander aufbauende Änderungen einfacher zu integrieren, zu testen und bereitzustellen sind – ein zentraler DevOps-Grundsatz.
CI/CD strukturiert die Arbeit, indem Prozesse und Zeitpläne für das Übertragen von Code in das Repository und für Build-Veröffentlichungen definiert werden. Aufgrund der klareren Ziele können die Teams flexibler agieren.
Da Builds mit CI/CD immer veröffentlichungsbereit sind, erleben Kunden weniger Serviceunterbrechungen. Zudem kann das Kundenfeedback viel schneller integriert werden.
Agile und DevOps verfolgen dieselben Ziele – Wertschöpfung für die Kunden mittels regelmäßiger Veröffentlichungen –, unterscheiden sich aber etwas in der Herangehensweise. Erfahren Sie, wie beide Lösungen zusammen eingesetzt werden können.
Die Implementierung von DevOps-Verfahren optimiert die Entwicklungspipeline und steigert die Zufriedenheit des Teams und der Benutzer. Erfahren Sie mehr darüber, wie DevOps Sie unterstützen kann.
Die Quellcodeverwaltung (SCM) hilft Teams, schnell und effizient zusammenzuarbeiten. Erfahren Sie alles, was Sie über Versionskontrollwerkzeuge wissen müssen, wann Sie diese einsetzen sollten und wie sie funktionieren.
Profitieren Sie mit den CI/CD-Lösungen von Unity von schneller Codeübernahme und leistungsstarker Quellcodeverwaltung sowie Automatisierungslösungen für Ihr Projekt. Wählen Sie Unity Cloud Build für verteilte Arbeit oder skalieren Sie die Build-Kapazität in Ihrer Umgebung mit Unity Build Server.