

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
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline"></a>

*Anand Krishna Varanasi, Amazon Web Services*

## Zusammenfassung
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-summary"></a>

**Hinweis**: AWS CodeCommit ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS CodeCommit können den Service weiterhin wie gewohnt nutzen. [Weitere Informationen](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/)

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 CI/CD AWS-Services verbindet. Dieses Muster beschreibt, wie eine end-to-end Workflow-Pipeline in AWS-Regionen implementiert wird, in denen die Nutzung von CI/CD AWS-Services wie AWS CodeCommit, AWS und AWS CodeBuild noch CodePipeline nicht unterstützt wird CodeDeploy.

## Voraussetzungen und Einschränkungen
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-prereqs"></a>

**Voraussetzungen**
+ Ein aktives AWS-Konto
+ AWS Cloud Development Kit (AWS CDK) CLI Version 2.28 oder höher

## Architektur
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-architecture"></a>

**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](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions) an, das mit diesem Muster bereitgestellt wird.) Eine EventBridge Amazon-Regel wird automatisch initiiert. CodeBuild

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: 

1. 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.

1. Lädt die CodeDeploy Konfigurationsdateien herunter.

1. Erstellt ein kombiniertes Archiv aus Anwendungsquellcode und CodeDeploy Konfigurationsdateien, die für den Anwendungstyp spezifisch sind.

1. 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\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)


## Tools
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-tools"></a>

**AWS-Services**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) ist ein vollständig verwalteter Build-Service, mit dem Sie Quellcode kompilieren, Komponententests ausführen und bereitstellungsbereite Artefakte erstellen können.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) ist ein Versionskontrollservice, mit dem Sie Git-Repositorys privat speichern und verwalten können, ohne Ihr eigenes Quellcodeverwaltungssystem verwalten zu müssen.
+ [AWS CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html) automatisiert Bereitstellungen auf Amazon EC2- oder lokalen Instances, AWS Lambda Lambda-Funktionen oder Amazon Elastic Container Service (Amazon ECS) -Services.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) 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)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) 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](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions)“ verfügbar.

## Epen
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-epics"></a>

### Richten Sie Ihre Entwickler-Workstation ein
<a name="set-up-your-developer-workstation"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Installieren Sie die AWS CDK CLI. | Anweisungen finden Sie in der [AWS-CDK-Dokumentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites). | AWS DevOps | 
| Installieren Sie 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](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html). | AWS DevOps | 
| Installieren Sie "npm". | Installieren Sie den **npm-Paketmanager**. Weitere Informationen finden Sie in der [npm-Dokumentation](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm). | AWS DevOps | 

### Richten Sie die Pipeline ein
<a name="set-up-the-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Klonen Sie das Code-Repository. | Klonen Sie das Repository „ GitHub [CodePipeline Nicht unterstützte Regionen](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions)“ auf Ihren lokalen Computer, indem Sie den folgenden Befehl ausführen.<pre>git clone https://github.com/aws-samples/invisible-codepipeline-unsupported-regions</pre> | DevOps Ingenieur | 
| Stellen Sie die Parameter in cdk.json ein. | Öffnen Sie die `cdk.json` Datei und geben Sie Werte für die folgenden Parameter an:<pre>"pipeline_account":"XXXXXXXXXXXX",<br />"pipeline_region":"us-west-2",<br />"repo_name": "app-dev-repo",<br />"ec2_tag_key": "test-vm",<br />"configName" : "cbdeployconfig",<br />"deploymentGroupName": "cbdeploygroup",<br />"applicationName" : "cbdeployapplication",<br />"projectName" : "CodeBuildProject"</pre>Wobei:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline.html) | AWS DevOps | 
| Richten Sie die AWS-CDK-Konstruktbibliothek 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.<pre>npm i aws-cdk-lib<br />npm run build<br />cdk synth</pre> | 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.`af-south-1`).<pre>cdk deploy</pre> | AWS DevOps | 

### Richten Sie das CodeCommit Repository ein für CodeDeploy
<a name="set-up-the-codecommit-repository-for-codedeploy"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
|  CI/CD Für die Anwendung einrichten. | Klonen Sie das CodeCommit Repository, das Sie in der `cdk.json` Datei angegeben haben (dies wird `app-dev-repo` standardmäßig aufgerufen), um die CI/CD Pipeline für die Anwendung einzurichten.<pre>git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/app-dev-repo</pre>wobei der Repository-Name und die Region von den Werten abhängen, die Sie in der `cdk.json` Datei angegeben haben. | AWS DevOps | 

### Testen Sie die Pipeline
<a name="test-the-pipeline"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Testen Sie die Pipeline anhand von Bereitstellungsanweisungen. | Der `CodeDeploy_Files` Ordner des Repositorys „ GitHub [CodePipeline Nicht unterstützte Regionen](https://github.com/aws-samples/invisible-codepipeline-unsupported-regions)“ enthält Beispieldateien mit Anweisungen CodeDeploy zur Bereitstellung der Anwendung. Die `appspec.yml` Datei ist eine CodeDeploy Konfigurationsdatei, die Hooks zur Steuerung des Ablaufs der Anwendungsbereitstellung enthält. Sie können die Beispieldateien`index.html`,, und verwenden `start_server.sh``stop_server.sh`, um eine Website `install_dependencies.sh` zu aktualisieren, die auf Apache gehostet wird. Dies sind Beispiele — Sie können den Code im GitHub Repository verwenden, um jede Art von Anwendung bereitzustellen. Wenn die Dateien in das CodeCommit Repository übertragen werden, wird die unsichtbare Pipeline automatisch initiiert. Die Ergebnisse der Bereitstellung finden Sie in den Ergebnissen der einzelnen Phasen in den CodeDeploy Konsolen CodeBuild und. | AWS DevOps | 

## Zugehörige Ressourcen
<a name="create-a-pipeline-in-aws-regions-that-don-t-support-aws-codepipeline-resources"></a>
+ [Erste Schritte](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) (AWS CDK-Dokumentation)
+ [Einführung in das Cloud Development Kit (CDK)](https://catalog.us-east-1.prod.workshops.aws/workshops/5962a836-b214-4fbf-9462-fedba7edcc9b/en-US) (AWS Workshop Studio)
+ [AWS-CDK-Workshop](https://cdkworkshop.com/)