Eine kontinuierliche Bereitstellung (Continuous Delivery) ermöglicht es Entwicklungsteams, den Prozess, mit dem Software den Softwareentwicklungslebenszyklus durchläuft, zu automatisieren, und kann bei der Bereitstellung einer integrierten Toolbox viele Vorteile bieten, darunter Folgendes:
Im folgenden Video erläutert Eric Minick Continuous Delivery näher:
Im Folgenden finden Sie eine Reihe von Best Practices, die Sie bei der Verwendung von Continuous Delivery berücksichtigen sollten:
Um die Vorteile von Continuous Delivery zu nutzen, benötigen Sie weitere Elemente des Continuous-Frameworks, z. B. Continuous Exploration, Continuous Integration, Continuous Deoplyment und Release on demand.
Wenn Sie Continuous-Delivery-Pipelinephasen verwenden, sollten Sie diese in separate Aufträge unterteilen, bei denen es sich um Ausführungseinheiten innerhalb einer Phase handelt:
Die Continuous-Delivery-Pipeline kann Entwicklungsteams helfen:
Continuous Deployment kann Teil einer Continuous-Delivery-Pipeline sein. Bei Continuous Delivery handelt es sich um das automatisierte Verschieben von Code durch den Entwicklungszyklus (manchmal auch Deliveryzyklus genannt). Continuous Deployment bezeichnet das automatisierte Verschieben dieses Codes in die Produktion, sobald er die erforderlichen automatisierten Tests bestanden hat.
Ob Sie Continuous Deployment in Ihre Deployment Pipeline aufnehmen, hängt von Ihren Geschäftsanforderung ab. Wenn es gemäß den Geschäftsanforderungen erforderlich ist, dass das Bereitstellungsteam neue oder aktualisierte Software wiederholt, zuverlässig oder so schnell wie möglich für die Produktion freigibt, oder wenn die Lösung mehrere Abhängigkeiten hat, dann werden Sie sehr wahrscheinlich von einer kontinuierlichen Bereitstellung profitieren.
Weitere Informationen zu den Unterschieden zwischen Continuous Deployment und Continuous Delivery finden Sie in diesem Video:
Mit einem Continuous-Delivery-Tool können Sie Open-Source-Tools für die Entwicklung, Bereitstellung und Verwaltung Ihrer Anwendungen verwenden. Durch die Integration von Toolsets können Sie wiederholbare und einfach zu verwaltende Aufgaben erstellen – nicht nur für Ihr Entwicklungsteam, sondern auch für Ihr Betriebsteam.
Ihre Toolbox kann Ihre aktuellen Cloud-Services, Open-Source-Tools und Tools von anderen Anbietern enthalten. Sie sollten aber auch ein Continuous-Delivery-Tool in Betracht ziehen, das Folgendes umfasst:
Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD und GitLab CI sind Open Source Continuous Delivery Tools, die Sie einsetzen können, wenn Sie eine starke Continuous Delivery Pipeline benötigen.
Agile kontinuierliche Bereitstellung (Continuous Delivery)
Bisher haben Sie Software nur einmal freigegeben und sie dann aktualisiert. In diesem Fall werden Kunden nur am Anfang und am Ende befragt, um zu sehen, ob die Software seinen Bedürfnissen entspricht.
Agile ist eine Methode dafür, Software einem Continuous-Delivery-Zeitplan folgend in kurzen Iterationen zu produzieren. Mit dem modernen agilen Continuous-Delivery-Prozess können Sie Code für den Kunden freigeben, sobald die jeweiligen Funktionen verfügbar werden. Agile Entwicklung und Continuous Delivery sind der Schlüssel dazu, dass Funktionen dem Kunden zur Verfügung stehen, sobald sie produktionsreif sind. Das Ziel ist es, dass jede Funktion veröffentlicht werden kann, sobald sie die Pipeline verlässt.
Erfahren Sie mehr über die Vorteile agiler Prinzipien.
DevOps und Continuous Delivery
In den letzten Jahrzehnten hat sich die Softwareentwicklung erheblich verändert, da man vom standardmäßigen Wasserfallansatz zur effizienteren agilen Methodik übergegangen ist. Um sich diesem Trend anzupassen, sollten Sie zu einem Ansatz wechseln, der sich auf Agile, DevOps und Continuous Delivery konzentriert. Als Teil einer Continuous-Delivery-Pipeline ermöglichen diese zielgerichteten Prozesse zuverlässigere, qualitativ hochwertige Software-Releases und Updates.
Wenn Sie durch agile Entwicklung schnellere, kleinere Software-Releases erstellen, können Sie sich stärker auf die einzelnen Phasen der Softwareentwicklung konzentrieren. Gleichzeitig konzentriert sich DevOps auf das Gesamtbild und den kulturellen Wandel, da Entwicklung und Betrieb eng zu einem Team verschmelzen, das den gesamten Lebenszyklus der Softwareentwicklung von der Codierung über das Testen und die Bereitstellung bis hin zum Support betreut.
Um einen genaueren Blick auf den DevOps-Prozess zu werfen, sehen Sie sich das folgende Video an:
IBM Continuous Delivery ist ein Cloud-Service, der Toolchains bereitstellt, Builds und Tests automatisiert und die Qualität anhand von Analysen kontrolliert.
Die Produkte aus der Reihe IBM UrbanCode helfen Ihnen dabei, Software schneller auf den Markt zu bringen, indem sie die Anwendungsbereitstellung beschleunigen und manuelle Prozesse reduzieren.
Erstellen Sie Kubernetes-native CI/CD-Pipelines mit maximaler Geschwindigkeit und Flexibilität.
DevOps beschleunigt die Bereitstellung qualitativ hochwertigerer Software, indem es die Arbeit von Softwareentwicklungs- und IT-Teams kombiniert und automatisiert.
Continuous Integration ist ein iterativer Entwicklungsprozess, bei dem Entwickler mindestens einmal täglich neuen Code in die Codebasis integrieren.
Ein praktischer Leitfaden für die CI/CD (Continuous Integration/Continuous Delivery)-Pipeline.