View a markdown version of this page

Start mit einer minimal funktionsfähigen Pipeline für die Continuous Integration - Continuous Integration und Continuous Delivery in AWS

Start mit einer minimal funktionsfähigen Pipeline für die Continuous Integration

Der Weg Ihrer Organisation zur Continuous Delivery beginnt mit einer Pipeline, die minimal funktionsfähig ist (Minimal Viable Pipeline, (MVP). Wie unter Continuous Integration und Continuous Delivery implementieren erläutert, können Teams mit einem sehr einfachen Prozess beginnen, z. B. mit der Implementierung einer Pipeline, die eine Überprüfung des Codestils oder einen einzelnen Einheitentest ohne Bereitstellung durchführt.

Eine wichtige Komponente dabei ist ein Orchestrierungstool für die Continuous Delivery. Zur Unterstützung beim Aufbau dieser Pipeline hat Amazon AWS CodeStar entwickelt.

AWS CodeStar-Einrichtungsseite

AWS CodeStar verwendet AWS CodePipeline, AWS CodeBuild, AWS CodeCommit und AWS CodeDeploy mit einem integrierten Einrichtungsprozess, Tools, Vorlagen und einem Dashboard. AWS CodeStar enthält die Tools, die Sie für eine schnelle Entwicklung, Erstellung und Bereitstellung von Anwendungen in AWS benötigen. Auf diese Weise können Sie den Code schneller freigeben. Kunden, die bereits mit der AWS-Managementkonsole vertraut sind und ein höheres Maß an Kontrolle wünschen, können Entwicklertools ihrer Wahl manuell konfigurieren und individuelle AWS-Services nach Bedarf bereitstellen.

AWS CodeStar-Dashboard

AWS CodePipeline ist ein CI/CD-Service, der über AWS CodeStar oder über die AWS-Managementkonsole für schnelle und zuverlässige Anwendungs- und Infrastrukturaktualisierungen verwendet werden kann. Basierend auf den von Ihnen definierten Release-Prozessmodellen erstellt und testet AWS CodePipeline Ihren Code bei jeder Codeänderung und stellt ihn bereit. So können Sie Funktionen und Updates schnell und verlässlich liefern. Sie können auf einfache Weise eine End-to-End-Lösung erstellen. Nutzen Sie unsere fertigen Plug-Ins für häufig genutzte Drittanbieterservices wie GitHub oder integrieren Sie auf jeder Stufe Ihrer entsprechenden Prozesse Ihre eigenen, angepassten Plug-Ins. Mit AWS CodePipeline zahlen Sie nur für das, was Sie tatsächlich nutzen. Es fallen keine Vorausleistungen an und Sie gehen keine langfristigen Verpflichtungen ein.

Die Schritte von AWS CodeStar und AWS CodePipeline entsprechen direkt den Quell-, Entwicklungs-, Staging- und Produktionsphasen der CI/CD. Während eine Continuous Delivery wünschenswert ist, können Sie mit einer einfachen zweistufigen Pipeline beginnen, die das Quell-Repository überprüft und eine Build-Aktion ausführt:

AWS CodePipeline – Quell- und Entwicklungsphasen

Für AWS CodePipeline kann die Quellphase Eingaben von GitHub, AWS CodeCommit und Amazon Simple Storage Service (Amazon S3) akzeptieren. Die Automatisierung des Erstellungsprozesses ist ein wichtiger erster Schritt zur Implementierung der Continuous Delivery und hin zum Continuous Deployment. Wenn bei der Produktion von Build-Artefakten kein manuelles Eingreifen mehr erforderlich ist, wird Ihr Team entlastet, es passieren weniger Fehler, die durch manuelles Verpacken entstehen, und Sie können häufiger verbrauchbare Artefakte verpacken.

AWS CodePipeline arbeitet nahtlos mit AWS CodeBuild zusammen, einem vollständig verwalteten Build-Service. So ist es einfacher, einen Erstellungsschritt innerhalb Ihrer Pipeline einzurichten, der Ihren Code verpackt und Einheitentests durchführt. Mit AWS CodeBuild müssen Sie keine eigenen Buildserver bereitstellen, verwalten oder skalieren. AWS CodeBuild skaliert kontinuierlich und verarbeitet mehrere Builds gleichzeitig, sodass Ihre Builds nicht in einer Warteschlange warten müssen. AWS CodePipeline lässt sich auch in Buildserver wie Jenkins, Solano CI und TeamCity integrieren.

In der folgenden Entwicklungsphase werden beispielsweise drei Aktionen (Einheitentests, Codestilprüfungen und Erfassung von Codemetriken) parallel ausgeführt. Mit AWS CodeBuild können diese Schritte als neue Projekte ohne weiteren Aufwand beim Erstellen oder Installieren von Buildservern für die Verarbeitung der Last hinzugefügt werden.

AWS CodePipeline – Build-Funktionalität

Die in der Abbildung AWS CodePipeline – Quell- und Entwicklungsphasen gezeigten Quell- und Entwicklungsphasen sowie ergänzende Prozesse und Automatisierung unterstützen Ihr Team beim Übergang zur Continuous Integration. Bei diesem Reifegrad müssen Entwickler regelmäßig auf die Erstellungs- und Testergebnisse achten. Sie müssen wachsen und eine stabile Grundlage für Einheitentests aufrechterhalten. Dies stärkt wiederum das Vertrauen des gesamten Teams in die CI/CD-Pipeline und fördert deren Einführung.

AWS CodePipeline-Phasen