CI/CD an AWS - Kontinuierliche Integration und kontinuierliche Bereitstellung für 5G-Netzwerke auf AWS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CI/CD an AWS

CI/CD kann man sich wie eine Pipeline vorstellen, bei der neuer Code an einem Ende eingereicht, in einer Reihe von Phasen (Quellcode, Build, Test, Staging und Produktion) getestet und dann als produktionsreifer Code veröffentlicht wird.

Ein Diagramm, das ein Beispiel für die Code-Pipeline darstellt AWS

Überblick über die CICD-Pipeline

Jede Phase der CI/CD-Pipeline ist als logische Einheit im Bereitstellungsprozess strukturiert. Jede Phase fungiert als Tor, das einen bestimmten Aspekt des Codes überprüft. Während der Code die Pipeline durchläuft, wird davon ausgegangen, dass die Qualität des Codes in den späteren Phasen höher ist, da immer mehr Aspekte des Codes verifiziert werden. Probleme, die in einem frühen Stadium aufgedeckt werden, verhindern, dass der Code die Pipeline durchläuft. Die Ergebnisse der Tests werden sofort an das Team gesendet, und alle weiteren Builds und Releases werden gestoppt, wenn die Software die Phase nicht besteht.

AWS bietet einen vollständigen Satz von CI/CD-Entwicklertools zur Beschleunigung der Softwareentwicklungs- und Release-Zyklen. AWS CodePipelineautomatisiert die Erstellungs-, Test- und Bereitstellungsphasen des Release-Prozesses bei jeder Codeänderung auf der Grundlage des definierten Release-Modells. Dies ermöglicht die schnelle und zuverlässige Bereitstellung von Funktionen und Updates.

Code-Pipelines können in andere Dienste integriert werden. Dies können AWS Dienste wie Amazon Simple Storage Service (Amazon S3) oder Produkte von Drittanbietern sein, wie GitHub z. AWS CodePipeline kann für eine Vielzahl von Anwendungsfällen in der Entwicklung und im Betrieb eingesetzt werden, darunter:

  • Code kompilieren, erstellen und testen mit AWS CodeBuild

  • Kontinuierliche Bereitstellung containerbasierter Anwendungen in der Cloud

  • Validierung von Artefakten (wie Deskriptoren und Container-Images), die für Netzwerkdienste oder bestimmte Cloud-native Netzwerkfunktionen erforderlich sind, vor der Implementierung

  • Funktions-, Integrations- und Leistungstests (für containerisierte Netzwerkefunction/virtual network function (CNF/VNF), einschließlich Baseline- und Regressionstests

  • Zuverlässigkeits- und Disaster-Recovery-Tests (DR).

Ein Diagramm, das die Komponenten der AWS CICD-Pipeline darstellt

AWS Komponenten der CICD-Pipeline

AWS kann CI/CD-Pipelines mit den folgenden Entwicklertools einrichten: AWS

Die Erstellung von CI/CD-Pipelines kann mit und automatisiert werden. AWS CDKAWS CloudFormation Im NFV-Bereich kann diese AWS native Automatisierung in ein Management and Orchestration (MANO) -Framework und das Service Orchestration Framework des CSP integriert werden.

Der CI/CD-Prozess umfasst die folgenden Schritte:

  • Netzwerkeinrichtung — AWS CDK und AWS CloudFormation Initiierung der Erstellung der Netzwerkvoraussetzungen:

  • Bereitstellung der Infrastruktur — AWS CDK und AWS CloudFormation initiieren Sie die Erstellung der folgenden Ressourcenstapel:

Ein Diagramm, das den CICD-Pipeline-Fluss darstellt. AWS

Flussdiagramm der AWS CICD-Pipeline

Die CI/CD-Pipeline wird mithilfe eines Continuous Delivery Service erstellt und nutzt diesen AWS CodePipeline, der die zur Veröffentlichung von Software erforderlichen Schritte modelliert, visualisiert und automatisiert. Durch die Definition von Phasen in einer Pipeline können Sie Code aus einem Quellcode-Repository abrufen, diesen Quellcode in ein veröffentlichbares Artefakt umwandeln, das Artefakt testen und es für die Produktion bereitstellen. Nur Code, der alle diese Phasen erfolgreich durchläuft, wird bereitgestellt. Sie können Ihrer Pipeline optional weitere Anforderungen hinzufügen, z. B. manuelle Genehmigungen, um sicherzustellen, dass nur genehmigte Änderungen in der Produktion implementiert werden.