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.
Erstellen Sie eine Pipeline in AWS-Regionen, die AWS nicht unterstützen CodePipeline
Erstellt von Anand Krishna Varanasi (AWS)
Code-Repository: invisible-codepipeline-unsupported-regions | Umgebung: PoC oder Pilotprojekt | Technologien: Infrastruktur; DevOps |
AWS-Dienste: AWS CodeBuild CodeCommit; AWS CodeDeploy; AWS CodePipeline |
Übersicht
AWS CodePipeline ist ein Orchestrierungsservice für Continuous Delivery (CD), der Teil einer Reihe von DevOps Tools von Amazon Web Services (AWS) ist. Es lässt sich in eine Vielzahl von Quellen (wie Versionskontrollsysteme und Speicherlösungen), Produkte und Services für kontinuierliche Integration (CI) von AWS und AWS-Partnern sowie Open-Source-Produkte integrieren, um einen end-to-end Workflow-Service für schnelle Anwendungs- und Infrastrukturbereitstellungen bereitzustellen.
Wird jedoch CodePipeline nicht in allen AWS-Regionen unterstützt, und es ist nützlich, einen unsichtbaren Orchestrator zu haben, der AWS CI/CD-Services verbindet. Dieses Muster beschreibt, wie eine end-to-end Workflow-Pipeline in AWS-Regionen implementiert wird, in denen sie noch CodePipeline nicht durch die Verwendung von AWS CI/CD-Services wie AWS CodeCommit, AWS und AWS CodeBuild unterstützt wird. CodeDeploy
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto
AWS Cloud Development Kit (AWS CDK) CLI Version 2.28 oder höher
Architektur
Zieltechnologie-Stack
Das folgende Diagramm zeigt eine Pipeline, die in einer Region erstellt wurde, die nicht unterstützt wird CodePipeline, z. B. in der Region Afrika (Kapstadt). Ein Entwickler überträgt die CodeDeploy Konfigurationsdateien (auch als Deployment-Lifecycle-Hook-Skripte bezeichnet) in das Git-Repository, das von CodeCommit gehostet wird. (Sehen Sie sich das GitHub Repository
Die CodeDeploy Konfigurationsdateien werden CodeCommit als Teil der Quellphase der Pipeline abgerufen und an diese übertragen. CodeBuild
CodeBuild Führt in der nächsten Phase die folgenden Aufgaben aus:
Lädt die TAR-Datei mit dem Quellcode der Anwendung herunter. Sie können den Namen dieser Datei mithilfe von Parameter Store, einer Funktion von AWS Systems Manager, konfigurieren.
Lädt die CodeDeploy Konfigurationsdateien herunter.
Erstellt ein kombiniertes Archiv aus Anwendungsquellcode und CodeDeploy Konfigurationsdateien, die für den Anwendungstyp spezifisch sind.
Initiiert die CodeDeploy Bereitstellung auf einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance mithilfe des kombinierten Archivs.
![Pipeline-Erstellung in einer nicht unterstützten AWS-Region](images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)
Tools
AWS-Services
AWS CodeBuild ist ein vollständig verwalteter Build-Service, mit dem Sie Quellcode kompilieren, Komponententests ausführen und bereitstellungsbereite Artefakte erstellen können.
AWS CodeCommit ist ein Versionskontrollservice, mit dem Sie Git-Repositorys privat speichern und verwalten können, ohne Ihr eigenes Quellcodeverwaltungssystem verwalten zu müssen.
AWS CodeDeploy automatisiert Bereitstellungen auf Amazon EC2- oder lokalen Instances, AWS Lambda Lambda-Funktionen oder Amazon Elastic Container Service (Amazon ECS) -Services.
AWS CodePipeline hilft Ihnen dabei, die verschiedenen Phasen einer Softwareversion schnell zu modellieren und zu konfigurieren und die Schritte zu automatisieren, die für die kontinuierliche Veröffentlichung von Softwareänderungen erforderlich sind.
Das AWS Cloud Development Kit (AWS CDK) ist ein Softwareentwicklungs-Framework, das Sie bei der Definition und Bereitstellung der AWS-Cloud-Infrastruktur im Code unterstützt.
Code
Der Code für dieses Muster ist im Repository „ GitHub CodePipeline Nicht unterstützte Regionen
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren Sie die AWS CDK CLI. | Anweisungen finden Sie in der AWS-CDK-Dokumentation. | AWS DevOps |
Installiere einen Git-Client. | Um Commits zu erstellen, kannst du einen Git-Client verwenden, der auf deinem lokalen Computer installiert ist, und deine Commits dann in das CodeCommit Repository übertragen. Informationen zur Einrichtung CodeCommit mit deinem Git-Client findest du in der CodeCommit Dokumentation. | AWS DevOps |
Installieren Sie "npm". | Installieren Sie den npm-Paketmanager. Weitere Informationen finden Sie in der npm-Dokumentation | AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Klonen Sie das Code-Repository. | Klonen Sie das Repository „ GitHub CodePipeline Nicht unterstützte Regionen
| DevOps Ingenieur |
Stellen Sie die Parameter in cdk.json ein. | Öffnen Sie die
Wobei:
| AWS DevOps |
Richten Sie die AWS-CDK-Construct-Bibliothek ein. | Verwenden Sie im geklonten GitHub Repository die folgenden Befehle, um die AWS-CDK-Konstruktionsbibliothek zu installieren, Ihre Anwendung zu erstellen und zu synthetisieren, um die CloudFormation AWS-Vorlage für die Anwendung zu generieren.
| AWS DevOps |
Stellen Sie die AWS-CDK-Beispielanwendung bereit. | Stellen Sie den Code bereit, indem Sie den folgenden Befehl in einer Region ausführen, die nicht unterstützt wird (z. B.
| AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Richten Sie CI/CD für die Anwendung ein. | Klonen Sie das CodeCommit Repository, das Sie in der
wobei der Repository-Name und die Region von den Werten abhängen, die Sie in der | AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Testen Sie die Pipeline anhand von Bereitstellungsanweisungen. | Der | AWS DevOps |
Zugehörige Ressourcen
Erste Schritte (AWS CDK-Dokumentation)
Einführung in das Cloud Development Kit (CDK)
(AWS Workshop Studio)