

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.

# Generieren Sie eine CI/CD Starter-Pipeline mit AWS SAM
<a name="serverless-generating-example-ci-cd"></a>

Wenn Sie bereit sind, die Bereitstellung zu automatisieren, können Sie eine der AWS SAM Start-Pipeline-Vorlagen verwenden, um eine Bereitstellungspipeline für das CI/CD System zu generieren, das Sie verwenden möchten. Ihre Bereitstellungspipeline ist das, was Sie konfigurieren und verwenden, um die Bereitstellung Ihrer serverlosen Anwendung zu automatisieren. Eine Vorlage für die Starter-Pipeline ist vorkonfiguriert, damit Sie Ihre Bereitstellungspipeline für Ihre serverlose Anwendung schnell einrichten können. 

Mit einer Vorlage für eine Starter-Pipeline können Sie mithilfe des Befehls Pipelines innerhalb von Minuten generieren. [sam pipeline init](sam-cli-command-reference-sam-pipeline-init.md)

Die Vorlagen für die Starter-Pipeline verwenden die vertraute JSON/YAML Syntax des CI/CD Systems und beinhalten bewährte Methoden wie die Verwaltung von Artefakten über mehrere Konten und Regionen hinweg und die Verwendung der Mindestanzahl an Berechtigungen, die für die Bereitstellung der Anwendung erforderlich sind. [Derzeit unterstützt die AWS SAM CLI die Generierung von CI/CD Starter-Pipeline-Konfigurationen für [Jenkins [AWS CodePipeline](https://aws.amazon.com/codepipeline)](https://www.jenkins.io/), [GitLab CI/CD](https://docs.gitlab.com/ee/ci/), [GitHub Actions](https://github.com/features/actions) und Bitbucket-Pipelines.](https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-pipelines/)

Hier sind die wichtigsten Aufgaben, die Sie ausführen müssen, um eine Starter-Pipeline-Konfiguration zu generieren:

1. **Infrastrukturressourcen erstellen** — Ihre Pipeline benötigt bestimmte AWS Ressourcen, z. B. den IAM-Benutzer und Rollen mit den erforderlichen Berechtigungen, einen Amazon S3 S3-Bucket und optional ein Amazon ECR-Repository.

1. **Connect dein Git-Repository mit deinem CI/CD System** — Dein CI/CD System muss wissen, welches Git-Repository die Ausführung der Pipeline auslöst. Beachten Sie, dass dieser Schritt möglicherweise nicht erforderlich ist, je nachdem, welche Kombination aus Git-Repository und CI/CD System Sie verwenden.

1. **Generieren Sie Ihre Pipeline-Konfiguration** — In diesem Schritt wird eine Starter-Pipeline-Konfiguration generiert, die zwei Bereitstellungsphasen umfasst.

1. **Übernehmen Sie Ihre Pipeline-Konfiguration in Ihr Git-Repository** — Dieser Schritt ist notwendig, um sicherzustellen, dass Ihr CI/CD System Ihre Pipeline-Konfiguration kennt. Er wird ausgeführt, wenn die Änderungen festgeschrieben wurden.

Nachdem Sie die Starter-Pipeline-Konfiguration generiert und in Ihr Git-Repository übernommen haben, wird Ihre Pipeline automatisch ausgeführt, wenn jemand eine Codeänderung an dieses Repository festschreibt.

Die Reihenfolge dieser Schritte und die Einzelheiten der einzelnen Schritte variieren je nach CI/CD-System:
+ Wenn Sie verwenden, finden Sie weitere Informationen AWS CodePipeline unter. [Generierung der Starter-Pipeline für AWS CodePipeline in AWS SAM](serverless-generating-example-ci-cd-codepipeline.md)
+ Wenn Sie Jenkins-, GitLab CI/CD-, GitHub Actions- oder Bitbucket-Pipelines verwenden, finden Sie weitere Informationen unter. [Wird verwendet AWS SAM , um Starter-Pipelines für Jenkins, GitLab CI/CD, Actions und Bitbucket-Pipelines zu generieren GitHub](serverless-generating-example-ci-cd-others.md)

# Generierung der Starter-Pipeline für AWS CodePipeline in AWS SAM
<a name="serverless-generating-example-ci-cd-codepipeline"></a>

Um eine Starter-Pipeline-Konfiguration für zu generieren AWS CodePipeline, führen Sie die folgenden Aufgaben in dieser Reihenfolge aus:

1. Infrastrukturressourcen erstellen

1. Generieren Sie die Pipeline-Konfiguration

1. Übergeben Sie Ihre Pipeline-Konfiguration auf Git

1. Connect dein Git-Repository mit deinem CI/CD System

**Anmerkung**  
Das folgende Verfahren verwendet zwei AWS SAMCLI Befehle, `sam pipeline bootstrap` und`sam pipeline init`. Der Grund dafür, dass es zwei Befehle gibt, ist der Anwendungsfall, in dem Administratoren (d. h. Benutzer, die eine Berechtigung zum Einrichten von AWS Infrastrukturressourcen wie IAM-Benutzern und -Rollen benötigen) mehr Rechte haben als Entwickler (d. h. Benutzer, die lediglich die Erlaubnis benötigen, einzelne Pipelines einzurichten, aber nicht die erforderlichen AWS Infrastrukturressourcen).

## Schritt 1: Infrastrukturressourcen erstellen
<a name="generating-example-step-1"></a>

Verwendete Pipelines AWS SAM benötigen bestimmte AWS Ressourcen, z. B. einen IAM-Benutzer und Rollen mit den erforderlichen Berechtigungen, einen Amazon S3 S3-Bucket und optional ein Amazon ECR-Repository. Sie benötigen für jede Bereitstellungsphase der Pipeline eine Reihe von Infrastrukturressourcen.

Sie können den folgenden Befehl ausführen, um bei dieser Einrichtung zu helfen:

```
sam pipeline bootstrap
```

**Anmerkung**  
Führen Sie den vorherigen Befehl für jede Bereitstellungsphase Ihrer Pipeline aus.

## Schritt 2: Generieren Sie die Pipeline-Konfiguration
<a name="generating-example-step-2"></a>

Führen Sie den folgenden Befehl aus, um die Pipeline-Konfiguration zu generieren:

```
sam pipeline init
```

## Schritt 3: Übernehmen Sie Ihre Pipeline-Konfiguration in das Git-Repository
<a name="generating-example-step-3"></a>

Dieser Schritt ist notwendig, um sicherzustellen, dass Ihr CI/CD System Ihre Pipeline-Konfiguration kennt. Er wird ausgeführt, wenn die Änderungen übernommen wurden.

## Schritt 4: Connect dein Git-Repository mit deinem CI/CD System
<a name="generating-example-step-4"></a>

Denn AWS CodePipeline Sie können jetzt die Verbindung herstellen, indem Sie den folgenden Befehl ausführen:

```
sam deploy -t codepipeline.yaml --stack-name <pipeline-stack-name> --capabilities=CAPABILITY_IAM --region <region-X>
```

Wenn du Bitbucket GitHub verwendest, stelle nach dem vorherigen Ausführen des **sam deploy** Befehls die Verbindung her, indem du die Schritte unter **So stellst du eine Verbindung her**, die du im Thema [Eine ausstehende Verbindung aktualisieren](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html) im *Benutzerhandbuch für die Developer Tools-Konsole* findest. Speichere außerdem eine Kopie der `CodeStarConnectionArn` aus der Ausgabe des **sam deploy** Befehls, da du sie benötigst, wenn du sie AWS CodePipeline mit einem anderen Zweig als `main` verwenden möchtest.

## Konfiguration anderer Zweige
<a name="configuring-other-branches"></a>

 AWS CodePipeline Verwendet standardmäßig den `main` Zweig mit AWS SAM. Wenn Sie einen anderen Zweig als verwenden möchten`main`, müssen Sie den **sam deploy** Befehl erneut ausführen. Beachten Sie, dass Sie je nachdem, welches Git-Repository Sie verwenden, möglicherweise auch Folgendes angeben müssen`CodeStarConnectionArn`:

```
# For GitHub and Bitbucket
sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name> CodeStarConnectionArn=<codestar-connection-arn>"

# For AWS CodeCommit
sam deploy -t codepipeline.yaml --stack-name <feature-pipeline-stack-name> --capabilities=CAPABILITY_IAM --parameter-overrides="FeatureGitBranch=<branch-name>"
```

## Weitere Informationen
<a name="serverless-generating-cicd-learn"></a>

Ein praktisches Beispiel für die Einrichtung einer CI/CD Pipeline finden Sie unter [CI/CD mit AWS CodePipeline](https://catalog.workshops.aws/complete-aws-sam/en-US/module-4-cicd) in *The* Complete Workshop. AWS SAM 

# Wird verwendet AWS SAM , um Starter-Pipelines für Jenkins, GitLab CI/CD, Actions und Bitbucket-Pipelines zu generieren GitHub
<a name="serverless-generating-example-ci-cd-others"></a>

Um eine Starter-Pipeline-Konfiguration für Jenkins-, GitLab CI/CD-, GitHub Actions- oder Bitbucket-Pipelines zu generieren, führe die folgenden Aufgaben in dieser Reihenfolge aus:

1. Infrastrukturressourcen erstellen

1. Connect dein Git-Repository mit deinem CI/CD System

1. Erstellen Sie Objekte mit Anmeldeinformationen

1. Generieren Sie die Pipeline-Konfiguration

1. Übergeben Sie Ihre Pipeline-Konfiguration in das Git-Repository

**Anmerkung**  
Das folgende Verfahren verwendet zwei AWS SAMCLI Befehle, `sam pipeline bootstrap` und`sam pipeline init`. Der Grund dafür, dass es zwei Befehle gibt, ist der Anwendungsfall, in dem Administratoren (d. h. Benutzer, die eine Berechtigung zum Einrichten von AWS Infrastrukturressourcen wie IAM-Benutzern und -Rollen benötigen) mehr Rechte haben als Entwickler (d. h. Benutzer, die lediglich die Erlaubnis benötigen, einzelne Pipelines einzurichten, aber nicht die erforderlichen AWS Infrastrukturressourcen).

## Schritt 1: Infrastrukturressourcen erstellen
<a name="generating-example-step-1"></a>

Verwendete Pipelines AWS SAM benötigen bestimmte AWS Ressourcen, z. B. einen IAM-Benutzer und Rollen mit den erforderlichen Berechtigungen, einen Amazon S3 S3-Bucket und optional ein Amazon ECR-Repository. Sie benötigen für jede Bereitstellungsphase der Pipeline eine Reihe von Infrastrukturressourcen.

Sie können den folgenden Befehl ausführen, um bei dieser Einrichtung zu helfen:

```
sam pipeline bootstrap
```

**Anmerkung**  
Führen Sie den vorherigen Befehl für jede Bereitstellungsphase Ihrer Pipeline aus.

Sie müssen die AWS Anmeldeinformationen (Schlüssel-ID und geheimer Schlüssel) für die Pipeline-Benutzer für jede Bereitstellungsphase Ihrer Pipeline erfassen, da sie für nachfolgende Schritte benötigt werden.

## Schritt 2: Connect dein Git-Repository mit deinem CI/CD System
<a name="generating-example-step-2"></a>

Das Verbinden Ihres Git-Repositorys mit Ihrem CI/CD System ist notwendig, damit das CI/CD System auf den Quellcode Ihrer Anwendung für Builds und Deployments zugreifen kann.

**Anmerkung**  
Sie können diesen Schritt überspringen, wenn Sie eine der folgenden Kombinationen verwenden, da die Verbindung automatisch für Sie hergestellt wird:  
GitHub Aktionen mit dem GitHub Repository
GitLab CI/CD mit Repository GitLab 
Bitbucket-Pipelines mit einem Bitbucket-Repository

Um dein Git-Repository mit deinem CI/CD System zu verbinden, führe einen der folgenden Schritte aus:
+ Wenn Sie Jenkins verwenden, lesen Sie in der [Jenkins-Dokumentation](https://www.jenkins.io/doc/book/pipeline/multibranch/) unter „Hinzufügen einer Branch-Quelle“ nach.
+ Wenn du GitLab CI/CD und ein anderes Git-Repository als verwendest GitLab, lies die [GitLabDokumentation](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/) unter „Ein externes Repository verbinden“.

## Schritt 3: Objekte mit Anmeldeinformationen erstellen
<a name="generating-example-step-3"></a>

Jedes CI/CD System hat seine eigene Methode zur Verwaltung der Anmeldeinformationen, die das CI/CD System für den Zugriff auf Ihr Git-Repository benötigt.

Gehen Sie wie folgt vor, um die erforderlichen Objekte mit Anmeldeinformationen zu erstellen:
+ Wenn Sie Jenkins verwenden, erstellen Sie ein einzelnes „Credential“, das sowohl die Schlüssel-ID als auch den geheimen Schlüssel speichert. **Folgen Sie den Anweisungen im AWS SAM Blog „[Eine Jenkins-Pipeline mit erstellen“ im Abschnitt „Jenkins](https://aws.amazon.com/blogs/compute/building-a-jenkins-pipeline-with-aws-sam/) konfigurieren“.** Für den nächsten Schritt benötigen Sie die „Credential ID“.
+ Wenn Sie GitLab CI/CD verwenden, erstellen Sie zwei „geschützte Variablen“, jeweils eine für die Schlüssel-ID und den geheimen Schlüssel. Folgen Sie den Anweisungen in der [GitLab Dokumentation](https://docs.gitlab.com/ee/ci/variables/) — für den nächsten Schritt benötigen Sie zwei „variable Schlüssel“.
+ Wenn Sie GitHub Aktionen verwenden, erstellen Sie zwei „verschlüsselte Geheimnisse“, jeweils einen für Schlüssel und geheimen Schlüssel. Folgen Sie den Anweisungen in der [GitHubDokumentation](https://docs.github.com/en/actions/reference/encrypted-secrets). Für den nächsten Schritt benötigen Sie zwei „geheime Namen“.
+ Wenn du Bitbucket-Pipelines verwendest, erstelle zwei „sichere Variablen“, jeweils eine für die Schlüssel-ID und den geheimen Schlüssel. Folge den Anweisungen in den Abschnitten [Variablen und Geheimnisse](https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets) — für den nächsten Schritt benötigst du zwei „geheime Namen“.

## Schritt 4: Generieren Sie die Pipeline-Konfiguration
<a name="generating-example-step-4"></a>

Führen Sie den folgenden Befehl aus, um die Pipeline-Konfiguration zu generieren. Sie müssen das Anmeldeinformationsobjekt eingeben, das Sie im vorherigen Schritt erstellt haben:

```
sam pipeline init
```

## Schritt 5: Übernehmen Sie Ihre Pipeline-Konfiguration in das Git-Repository
<a name="generating-example-step-5"></a>

Dieser Schritt ist notwendig, um sicherzustellen, dass Ihr CI/CD System Ihre Pipeline-Konfiguration kennt. Er wird ausgeführt, wenn die Änderungen übernommen wurden.

## Weitere Informationen
<a name="serverless-generating-other-cicd-learn"></a>

Ein praktisches Beispiel für die Einrichtung einer CI/CD Pipeline mit GitHub Actions finden Sie unter [CI/CD with GitHub](https://s12d.com/sam-ws-en-gh) in *The* Complete Workshop. AWS SAM 