Was ist eine CI/CD-Pipeline?

Eine CI/CD-Pipeline kombiniert kontinuierliche Integration und kontinuierliche Bereitstellung und automatisiert hierdurch Programmierung, Tests und Bereitstellung.

DevOps-Demo
Wissenswertes über CI/CD
Einführung zu CI/CD Was sind CI, CD und Continuous Deployment? Welche Schritte umfasst eine CI/CD-Pipeline? Woran erkenne ich eine effiziente Pipeline? Effektive CI/CD-Pipelines mit ServiceNow
Alle ausklappen Alle Einklappen Einführung zu CI/CD

Die Entwicklung einer Geschäfts-App kann sich schwierig gestalten und viel Zeit in Anspruch nehmen. Von der Konzeptfindung und dem ersten Entwurf über die Design-, Bereitstellungs- und Testphasen bis hin zum Rollout und dem anschließenden Support bzw. der laufenden Wartung – der gesamte Prozess kann Monate dauern.

CI/CD zielt darauf ab, das zu ändern. Eine CI/CD-Pipeline ist eine Kombination aus kontinuierlicher Integration (Continuous Integration, CI) und kontinuierlicher Bereitstellung (Continuous Delivery, CD) und besteht aus einer Reihe automatisierter Schritte, die die Anwendungsentwicklung erheblich vereinfachen sollen. Mit den CI/CD-Prinzipien und -Praktiken für optimalen Betrieb können DevOps-Teams schneller, häufiger, einfacher und mit weniger Fehlern fertige Softwareprodukte bereitstellen.

Book of Knowledge: DevOps Lesen Sie, wie andere Unternehmen DevOps umsetzen, um effektiver zu transformieren und zu modernisieren. Zum E-Book
Was sind CI, CD und Continuous Deployment?

Wie bereits erwähnt, umfasst die CI/CD-Pipeline sowohl kontinuierliche Integration als auch kontinuierliche Bereitstellung, um eine ganzheitliche Entwicklungskultur und feste Betriebsprinzipien zu schaffen. Doch was genau sind CI und CD, und in welchem Verhältnis stehen sie zum Continuous Deployment?

Was ist kontinuierliche Integration (CI)?

Kontinuierliche Integration (CI) ist ein Ansatz, bei dem Entwicklungsteams regelmäßig inkrementelle Änderungen am Code implementieren und testen. Diese Änderungen werden dann in einem gemeinsamen, zentralen Repository zusammengeführt. Das Repository umfasst eine Versionskontrolle, damit Entwickler Updates anzeigen und bei Bedarf zu früheren Versionen zurückkehren können. Diese sogenannten „Check-ins“ können während des Entwicklungszyklus mehrmals täglich stattfinden. Jede Änderung wird durch einen automatisierten Build und durch automatische Tests verifiziert, um sicherzustellen, dass Probleme im Code schnell erkannt und behoben werden können.

Was ist kontinuierliche Bereitstellung (CD)?

Während CI Entwicklung und Tests automatisiert, schließt kontinuierliche Bereitstellung (CD) den Zyklus ab, indem Aspekte der Softwarebereitstellung automatisiert werden. Wenn Feedback bearbeitet und Korrekturen implementiert werden, werden diese Änderungen automatisch hochgeladen, bis das Team die Entscheidung trifft, die Anwendung in die Produktion zu verschieben. CD führt zu einem bereitstellbaren Produkt, erfordert jedoch eine menschliche Autorisierung, um Produkte einzuführen. So können Teams entscheiden, was wann veröffentlicht werden soll, und Entwickler können die Anwendung weiter verfeinern, bevor sie sie an den Endbenutzer übergeben.

Was ist Continuous Deployment?

Continuous Deployment ähnelt der kontinuierlichen Bereitstellung – so sehr, dass sie manchmal synonym verwendet und auch durch dieselbe Abkürzung (CD) dargestellt werden. Der Hauptunterschied zur kontinuierlichen Bereitstellung besteht darin, wer die Software tatsächlich bereitstellt. Beim Continuous Deployment werden Produkt-Releases nicht von Menschen freigegeben. Stattdessen wird jede Änderung über eine automatisierte Pipeline gesendet, um eine funktionierende Version zu erstellen, die dann sofort in die Produktion verschoben wird. Es entsteht keine Wartezeit aufgrund manueller Genehmigungszyklen, was bedeutet, dass der Code hinreichend getestet werden muss, bevor er in die Produktion geht.

Warum ist eine CI/CD-Pipeline so wichtig?

Sowohl CI als auch CD sind für modernes DevOps unerlässlich und unterstützen agile Methoden. Daher bietet eine effektive CI/CD-Pipeline mehrere Vorteile:

  • Klarere Prozesse
    Der systematische CI/CD-Ansatz definiert ganz klar jeden einzelnen Schritt innerhalb der Pipeline und bietet eine detaillierte Übersicht der Aufgaben, die zu erledigen sind, damit das Projekt voranschreitet.
  • Höherwertiger Code
    Kleine, inkrementelle Änderungen lassen sich einfacher auf Qualität und Effektivität überprüfen. Ebenso sind alle Probleme im Code viel offensichtlicher und können früher im Prozess gelöst werden. Und das bedeutet besseren Code im gesamten Projekt.
  • Einfacher Zugriff
    Da Changes automatisch in einem zentralen Repository gespeichert werden, können Stakeholder, QA-Verantwortliche sowie andere autorisierte Teams und Personen direkt auf jede Version des Produkts zugreifen, einschließlich der aktuellen.
  • Zuverlässige Versionskontrolle
    Falls ein Problem mit dem Code nicht einfach gelöst werden kann, kann ein Rollback auf eine frühere Version erforderlich sein. Effektive Versionskontroll-Verfahren stellen sicher, dass dieser Rollback mit minimalem Aufwand möglich ist.
  • Schnelleres Feedback
    Mit einer CI/CD-Pipeline können Benutzer und Tester nahezu umgehend Feedback hinterlassen, und Entwicklungsteams können es ebenso schnell umsetzen.
  • Kürzere Testzyklen
    In der traditionellen Entwicklung muss der Code ganzer Produkte immer und immer wieder getestet werden, was zu langwierigen und komplexen Testzyklen führt. Mit kleineren Codevolumen, die in einer CI/CD-Pipeline inkrementell eingeführt werden, besteht dieses Problem nicht mehr.
  • Höhere Entwicklungsagilität
    Mit CI/CD‑Pipelines können Entwicklungsteams umgehend auf die Anforderungen ihres Unternehmens reagieren und laufende Projekte bei Bedarf anpassen. Mit gesteigerter Reaktionsfähigkeit in der Entwicklung erhalten Unternehmen leistungsstarke und spezialisierte Softwarelösungen, genau wenn sie sie brauchen.
Welche Schritte umfasst eine CI/CD-Pipeline?

CI/CD bedeutet nicht nur die Anpassung von Verfahren, sondern auch eine kulturelle Verschiebung. Dementsprechend weichen die spezifischen Schritte je nach Unternehmen ab. In der Regel folgen sie jedoch einer grundlegenden und einheitlichen Struktur:

Planen

Die erste Phase der CI/CD-Pipeline umfasst die gesamte Hintergrundarbeit, die in die Konzeptfindung einer neuen Anwendung einfließt. Projekt-/Produktmanager sammeln Anforderungen von Kunden und Stakeholdern, entwickeln eine Projekt-Roadmap und erstellen einen Backlog mit den erforderlichen Aufgaben. Diese Phase umfasst auch die Integration von Tools für agile Verwaltung (wie Scrum und Kanban) in den laufenden Prozess.

Entwickeln

Die Entwicklungsphase basiert auf vereinfachter Programmierung (einem Kernprinzip von Agile) und schnellem Feedback. Indem Prinzipien der kontinuierlichen Entwicklung angewendet werden und Sicherheit bereit früh im Prozess berücksichtigt wird, wird der Code ständig validiert, um seine Korrektheit zu gewährleisten.

Erstellung

Nach der Entwicklung arbeiten in der Erstellungsphase Teams in kurzen Iterationen zusammen, um funktionsfähige Instanzen des Produkts zu erstellen. Etwaige Probleme, die das Produkt daran hindern, die Erstellungsphase abzuschließen, müssen umgehend behoben werden.

Test

In dieser Phase werden automatisierte Tests durchgeführt, um sicherzustellen, dass der Code wie vorgesehen funktioniert. Die Testphase dient dazu, Fehler zu beseitigen, bevor sie Kunden erreichen, und Entwicklern schnelles Feedback zu bieten, damit sie Probleme isolieren und beheben können, bevor diese echte Schwierigkeiten verursachen. Bei ausgereifteren CI/CD-Pipelines können diese Tests auch die Suche nach Schwachstellen umfassen, was oft als DevSecOps bezeichnet wird.

Bereitstellung

Nachdem der Code getestet und validiert wurde, kann das Projekt an eine Bereitstellungsumgebung gesendet werden. Hierbei handelt es sich in der Regel um Staging-Umgebungen, in denen Code zusätzlichen manuellen Tests und Prüfungen unterzogen wird. Genehmigte Changes werden dann automatisch an die Produktion gesendet.

Betrieb

Nachdem die Anwendung bereitgestellt und an die Produktion gesendet wurde, wird sie eng überwacht, um Trends und potenzielle Probleme zu erkennen. Diese Überwachung wird oft in die betrieblichen Funktionen der Anwendung integriert und für künftige Updates genutzt.

Ganz im Sinne des kontinuierlichen Entwicklungsansatz treten viele dieser Phasen gleichzeitig auf, und der Code muss die verschiedenen Phasen möglicherweise mehrfach durchlaufen, bis die Anwendung fertig optimiert wurde.

Woran erkenne ich eine effiziente Pipeline?

Da Unternehmen ihre CI/CD-Pipelines völlig frei entwickeln können, sind einige effizienter als andere. Effiziente Pipelines lassen sich an folgenden Eigenschaften erkennen:

Geschwindigkeit

Die Geschwindigkeit der Pipeline hängt von verschiedenen Faktoren ab: Wie lange dauert es, eine neue Pipeline aufzubauen? Wie lange dauert es, eine Anwendung zu erstellen, zu testen und bereitzustellen? Wie schnell wird Feedback empfangen? Ist die Pipeline in der Lage, effektiv nach Bedarf zu skalieren? Die Geschwindigkeit hängt stark von der Optimierung von Prozessen, der Implementierung effektiver Automatisierung und der Vermeidung von Engpässen ab.

Zuverlässigkeit

Ein großer Vorteil der Automatisierung besteht darin, dass sie vorhersehbar ist. Die gleiche Eingabe sollte immer zur selben Ausgabe führen. Unzuverlässige Pipelines weisen oft Laufzeitschwankungen auf und fallen in sich zusammen, wenn sich Technologie-Stacks ändern oder zusätzliche Teams oder Projekte eingeführt werden.

Genauigkeit

Das Endziel der CI/CD-Pipeline besteht darin, den Softwarebereitstellungsprozess von Anfang bis Ende vollständig zu automatisieren und zu visualisieren – und zwar genau. Wenn das nicht möglich ist und die Pipeline stark auf manuelle Aufgaben angewiesen ist, steigen natürlich die Bereitstellungszeiten und -kosten.

Preisgestaltung für ServiceNow DevOps Fordern Sie eine Preisgestaltung für ServiceNow DevOps an und verringern Sie die Risiken, die ein schnelles Tempo mit sich bringt, und minimieren Sie die Reibung zwischen IT-Betrieb und Entwicklung. Zur Preisgestaltung
Effektive CI/CD-Pipelines mit ServiceNow

Zwar bietet eine effektive CI/CD-Pipeline zahlreiche Vorteile, doch eine solche Pipeline von Grund auf neu aufzubauen, kann ein schwieriger und komplexer Prozess sein. In großen Unternehmen, in denen die verschiedenen Teams unterschiedliche Ansätze entwickelt haben, kann das zu Problemen mit der Einheitlichkeit und Transparenz führen. ServiceNow kann Unternehmen hierbei unterstützen. Hierzu wird Now Platform mit der allgemeinen Quellcodeverwaltung und den CI/CD‑Lösungen des Unternehmens verbunden, und es werden Einblicke bereitgestellt, die auf anderen, bereits verfügbaren ServiceNow-Informationen wie Servicedefinitionen und Betriebsdaten basieren. Darüber hinaus unterstützt ServiceNow den Einsatz allgemeiner Quellcodeverwaltungs- und CI/CD‑Lösungen, um bei der Entwicklung von ServiceNow-Apps auf der Now Platform DevOps-Praktiken anwenden zu können.

Quellcodeverwaltung und CI/CD bieten die Tools und Funktionen, die Sie für eine schnellere, skalierbare App-Entwicklung brauchen. Nutzen Sie vorkonfigurierte Integrationen von ServiceNow für die Tools, die Entwickler bereits nutzen, um Codeänderungen über mehrere Entwickler und Teams hinweg effektiv zu verwalten. Fügen Sie Governance-Prozessen leistungsstarke Automatisierung hinzu, um manuelle Genehmigungen von Change-Anforderungen zu ersetzen und Projekte schneller und mit weniger Fehlern durch die CI/CD-Pipeline zu führen. Erfassen Sie Feedback nicht nur früher, sondern auch häufiger, um eine schnelle Anwendungsbereitstellung zu gewährleisten, die alle wichtigen Anforderungen erfüllt. ServiceNow macht all das möglich.

Bieten Sie Endbenutzern Anwendungen, auf die sie sich verlassen können – mit Lösungen für Quellcodeverwaltung und CI/CD-Wertstrommanagement von ServiceNow.

Fähigkeiten, die mit Ihrem Geschäft wachsen

Weiten Sie den DevOps-Erfolg auf das gesamte Unternehmen aus. Nehmen Sie der hohen Geschwindigkeit das Risiko und minimieren Sie die Reibung zwischen IT-Betrieb und Entwicklung.

DevOps testen Kontakt
Ressourcen Artikel Was ist ServiceNow? Was ist DevOps? Was ist Kubernetes? Analystenberichte Now Platform mit DevOps erweitern IDC-Agilitätstest: Wie schneidet Ihr Unternehmen ab? Geschäftsnutzen der Servicebetriebslösungen von ServiceNow Datenblätter ITSM Pro: DevOps Change-Geschwindigkeit Change-Management Anforderungsmanagement E-Books Innovation vorantreiben und IT-Tempo beschleunigen ITIL 4 in 10 Minuten erklärt Mit ITSM schnell live gehen Whitepaper Einführung in DevOps-Plattformen für Unternehmen DevOps, Beobachtbarkeit und AIOps vernetzen Advanced High Availability Architecture