

Amazon CodeCatalyst ist nicht mehr offen für Neukunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Wie migriert man von CodeCatalyst](migration.md).

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.

# Tutorial: Artefakte auf Amazon S3 hochladen
<a name="build-deploy"></a>

In diesem Tutorial erfahren Sie, wie Sie mithilfe eines CodeCatalyst [Amazon-Workflows](workflows-concepts.md#workflows-concepts-workflows), der einige [Build-Aktionen](workflows-concepts.md#workflows-concepts-actions) umfasst, Artefakte in einen Amazon S3-Bucket hochladen. Diese Aktionen werden nacheinander ausgeführt, wenn der Workflow gestartet wird. Die erste Build-Aktion generiert zwei Dateien `Hello.txt` und`Goodbye.txt`, und bündelt sie zu einem Build-Artefakt. Die zweite Build-Aktion lädt das Artefakt auf Amazon S3 hoch. Sie konfigurieren den Workflow so, dass er jedes Mal ausgeführt wird, wenn Sie einen Commit in Ihr Quell-Repository übertragen.

**Topics**
+ [Voraussetzungen](#build-deploy-tut-prereqs)
+ [Schritt 1: Eine AWS Rolle erstellen](#build-deploy-tut-role)
+ [Schritt 2: Erstellen Sie einen Amazon S3 S3-Bucket](#build-deploy-tut-artifact)
+ [Schritt 3: Erstellen Sie ein Quell-Repository](#deploy-tut-lambda-cfn-source)
+ [Schritt 4: Erstellen Sie einen Workflow](#build-deploy-tut-workflow.title)
+ [Schritt 5: Überprüfen Sie die Ergebnisse](#build-deploy.s3.verify)
+ [Bereinigen](#deploy-tut-lambda-cfn-clean-up)

## Voraussetzungen
<a name="build-deploy-tut-prereqs"></a>

Bevor Sie beginnen, muss Folgendes sichergestellt sein:
+ Sie benötigen einen CodeCatalyst **Bereich** mit einem verbundenen AWS Konto. Weitere Informationen finden Sie unter [Erstellen einer Umgebung](spaces-create.md).
+ In Ihrem Bereich benötigen Sie ein leeres Projekt mit dem Namen:

  ```
  codecatalyst-artifact-project
  ```

  Verwenden Sie die Option **Von vorne beginnen**, um dieses Projekt zu erstellen.

  Weitere Informationen finden Sie unter [Ein leeres Projekt in Amazon erstellen CodeCatalyst](projects-create.md#projects-create-empty).
+ In Ihrem Projekt benötigen Sie eine CodeCatalyst **Umgebung** namens:

  ```
  codecatalyst-artifact-environment
  ```

  Konfigurieren Sie diese Umgebung wie folgt:
  + Wählen Sie einen beliebigen Typ, z. B. **Entwicklung**.
  + Connect dein AWS Konto damit.
  + Wählen Sie für die **Standard-IAM-Rolle eine** beliebige Rolle aus. Sie werden später eine andere Rolle angeben.

  Weitere Informationen finden Sie unter [Einsatz in AWS-Konten und VPCs](deploy-environments.md).

## Schritt 1: Eine AWS Rolle erstellen
<a name="build-deploy-tut-role"></a>

In diesem Schritt erstellen Sie eine AWS IAM-Rolle, die Sie später der Build-Aktion in Ihrem Workflow zuweisen. Diese Rolle gewährt der CodeCatalyst Build-Aktion die Berechtigung, auf Ihr AWS Konto zuzugreifen und in Amazon S3 zu schreiben, wo Ihr Artefakt gespeichert wird. Die Rolle wird **Build-Rolle** genannt.

**Anmerkung**  
Wenn Sie bereits über eine Build-Rolle verfügen, die Sie für ein anderes Tutorial erstellt haben, können Sie sie auch für dieses Tutorial verwenden. Stellen Sie einfach sicher, dass sie über die im folgenden Verfahren beschriebenen Berechtigungen und Vertrauensrichtlinien verfügt.

Weitere Informationen zu IAM-Rollen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) im *AWS AWS Identity and Access Management Benutzerhandbuch*.

**Um eine Build-Rolle zu erstellen**

1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

   1. Melden Sie sich an bei AWS.

   1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

   1. Wählen Sie im Navigationsbereich **Richtlinien**.

   1. Wählen Sie **Richtlinie erstellen** aus.

   1. Wählen Sie den Tab **JSON**.

   1. Löschen Sie den vorhandenen Code.

   1. Fügen Sie folgenden Code ein:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:ListBucket"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------
**Anmerkung**  
Wenn die Rolle zum ersten Mal zum Ausführen von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.  

      ```
      "Resource": "*"
      ```

   1. Wählen Sie **Next: Tags** (Weiter: Tags) aus.

   1. Klicken Sie auf **Weiter: Prüfen**.

   1. Geben Sie im Feld **Name** Folgendes ein:

      ```
      codecatalyst-s3-build-policy
      ```

   1. Wählen Sie **Richtlinie erstellen** aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

1. Erstellen Sie die Build-Rolle wie folgt:

   1. Wählen Sie im Navigationsbereich **Rollen** und dann **Rolle erstellen**.

   1. Wählen Sie **Benutzerdefinierte Vertrauensrichtlinie**.

   1. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

   1. Fügen Sie die folgende benutzerdefinierte Vertrauensrichtlinie hinzu:

   1. Wählen Sie **Weiter** aus.

   1. Suchen Sie **unter Berechtigungsrichtlinien** nach dem entsprechenden Kontrollkästchen `codecatalyst-s3-build-policy` und aktivieren Sie es.

   1. Wählen Sie **Weiter** aus.

   1. Geben Sie **als Rollenname** Folgendes ein:

      ```
      codecatalyst-s3-build-role
      ```

   1. Geben Sie **als Rollenbeschreibung** Folgendes ein:

      ```
      CodeCatalyst build role
      ```

   1. Wählen Sie **Rolle erstellen** aus.

   Sie haben jetzt eine Build-Rolle mit einer Vertrauensrichtlinie und einer Berechtigungsrichtlinie erstellt.

## Schritt 2: Erstellen Sie einen Amazon S3 S3-Bucket
<a name="build-deploy-tut-artifact"></a>

In diesem Schritt erstellen Sie einen Amazon S3 S3-Bucket, in den die `Hello.txt` und `Goodbye.txt` -Artefakte hochgeladen werden.

**So erstellen Sie einen Amazon-S3-Bucket**

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im Hauptbereich **Create Bucket** aus.

1. Geben Sie als **Bucket-Namen** Folgendes ein:

   ```
   codecatalyst-artifact-bucket
   ```

1. Wählen Sie unter **AWS -Region** eine Region aus. In diesem Tutorial wird davon ausgegangen, dass Sie **US West (Oregon) us-west-2** ausgewählt haben. Informationen zu den von Amazon S3 unterstützten Regionen finden Sie unter [Amazon Simple Storage Service-Endpunkte und Kontingente](https://docs.aws.amazon.com/general/latest/gr/s3.html) in der *Allgemeine AWS-Referenz*.

1. Wählen Sie unten auf der Seite **Bucket erstellen** aus.

1. Kopieren Sie den Namen des Buckets, den Sie gerade erstellt haben, zum Beispiel:

   ```
   codecatalyst-artifact-bucket
   ```

Sie haben jetzt einen Bucket mit dem Namen **codecatalyst-artifact-bucket** in der Region USA West (Oregon) us-west-2 erstellt.

## Schritt 3: Erstellen Sie ein Quell-Repository
<a name="deploy-tut-lambda-cfn-source"></a>

In diesem Schritt erstellen Sie ein Quell-Repository in CodeCatalyst. Dieses Repository wird verwendet, um die Workflow-Definitionsdatei des Tutorials zu speichern. 

Weitere Informationen zu Quell-Repositorys finden Sie unter[Erstellen eines Quell-Repositorys](source-repositories-create.md).

**Um ein Quell-Repository zu erstellen**

1. Öffnen Sie die CodeCatalyst Konsole unter [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Navigieren Sie zu Ihrem Projekt,`codecatalyst-artifact-project`.

1. Wählen Sie im Navigationsbereich **Code** und dann **Source Repositories** aus. 

1. Wählen **Sie Repository hinzufügen** und anschließend **Repository erstellen** aus.

1. Geben Sie im Feld **Repository-Name** Folgendes ein:

   ```
   codecatalyst-artifact-source-repository
   ```

1. Wählen Sie **Erstellen** aus.

Sie haben jetzt ein Repository mit dem Namen erstellt`codecatalyst-artifact-source-repository`.

## Schritt 4: Erstellen Sie einen Workflow
<a name="build-deploy-tut-workflow.title"></a>

In diesem Schritt erstellen Sie einen Workflow, der aus den folgenden Bausteinen besteht, die nacheinander ausgeführt werden:
+ Ein Trigger — Dieser Trigger startet die Workflow-Ausführung automatisch, wenn Sie eine Änderung an Ihr Quell-Repository übertragen. Weitere Informationen zu Triggern finden Sie unter[Automatisches Starten einer Workflow-Ausführung mithilfe von Triggern](workflows-add-trigger.md).
+ Eine Build-Aktion namens `GenerateFiles` — Beim Trigger erstellt die `GenerateFiles` Aktion zwei Dateien `Hello.txt` und `Goodbye.txt` packt sie in ein Ausgabeartefakt namens`codecatalystArtifact`.
+ Eine weitere Build-Aktion namens `Upload` — Nach Abschluss der `GenerateFiles` Aktion führt die `Upload` Aktion den AWS CLI Befehl aus, `aws s3 sync` um die Dateien im `codecatalystArtifact` und in Ihrem Quell-Repository in Ihren Amazon S3 S3-Bucket hochzuladen. Das AWS CLI ist auf der CodeCatalyst Rechenplattform vorinstalliert und vorkonfiguriert, sodass Sie es nicht installieren oder konfigurieren müssen.

  Weitere Informationen zur vorkonfigurierten Software auf der CodeCatalyst Rechenplattform finden Sie unter. [Angabe von Images für die Laufzeitumgebung](build-images.md) Weitere Informationen zum `aws s3 sync` Befehl AWS CLI's finden Sie unter [sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) in der *AWS CLI Befehlsreferenz.*

Weitere Informationen zur Build-Aktion finden Sie unter[Bauen mit Workflows](build-workflow-actions.md).

**So erstellen Sie ein Workflow**

1. **Wählen Sie im Navigationsbereich **CI/CD** und dann Workflows aus.**

1. Wählen Sie Workflow **erstellen** aus.

1. Löschen Sie den YAML-Beispielcode.

1. Fügen Sie den folgenden YAML-Code hinzu:
**Anmerkung**  
Im folgenden YAML-Code können Sie den `Connections:` Abschnitt weglassen, wenn Sie möchten. Wenn Sie diesen Abschnitt weglassen, müssen Sie sicherstellen, dass die im Feld **Standard-IAM-Rolle angegebene Rolle** in Ihrer Umgebung die unter beschriebenen Berechtigungen und Vertrauensrichtlinien enthält. [Schritt 1: Eine AWS Rolle erstellen](#build-deploy-tut-role) Weitere Informationen zum Einrichten einer Umgebung mit einer Standard-IAM-Rolle finden Sie unter. [Erstellen einer Umgebung](deploy-environments-creating-environment.md)

   ```
   Name: codecatalyst-artifact-workflow
   SchemaVersion: 1.0
   
   Triggers:
     - Type: Push
       Branches:
         - main   
   Actions:
     GenerateFiles:
       Identifier: aws/build@v1
       Configuration: 
         Steps:
           # Create the output files.
           - Run: echo "Hello, World!" > "Hello.txt"
           - Run: echo "Goodbye!" > "Goodbye.txt"
       Outputs:
         Artifacts:
           - Name: codecatalystArtifact
             Files:
               - "**/*"
     Upload:
       Identifier: aws/build@v1
       DependsOn: 
         - GenerateFiles
       Environment:
         Name: codecatalyst-artifact-environment
         Connections:
           - Name: codecatalyst-account-connection
             Role: codecatalyst-s3-build-role
       Inputs:
         Artifacts:
           - codecatalystArtifact
       Configuration: 
         Steps:
           # Upload the output artifact to the S3 bucket.
           - Run: aws s3 sync . s3://codecatalyst-artifact-bucket
   ```

   Ersetzen Sie im obigen Code:
   + *codecatalyst-artifact-environment*durch den Namen der Umgebung, in der Sie erstellt haben[Voraussetzungen](#build-deploy-tut-prereqs).
   + *codecatalyst-account-connection*mit dem Namen der Kontoverbindung, in der Sie eine Verbindung erstellt haben[Voraussetzungen](#build-deploy-tut-prereqs).
   + *codecatalyst-s3-build-role*mit dem Namen der Build-Rolle, in der Sie erstellt haben[Schritt 1: Eine AWS Rolle erstellen](#build-deploy-tut-role).
   + *codecatalyst-artifact-bucket*mit dem Namen des Amazon S3, in dem Sie es erstellt haben[Schritt 2: Erstellen Sie einen Amazon S3 S3-Bucket](#build-deploy-tut-artifact).

   Informationen zu den Eigenschaften in dieser Datei finden Sie unter[Aktionen erstellen und testen YAML](build-action-ref.md).

1. (Optional) Wählen Sie „**Validieren**“, um sicherzustellen, dass der YAML-Code gültig ist, bevor Sie ihn festschreiben.

1. Wählen Sie **Commit** (Übergeben).

1. Geben Sie im **Dialogfeld „Workflow bestätigen**“ Folgendes ein:

   1. Behalten Sie für **Workflow-Dateiname** die Standardeinstellung bei`codecatalyst-artifact-workflow`.

   1. Geben Sie für **Commit-Nachricht** Folgendes ein:

      ```
      add initial workflow file
      ```

   1. Wählen Sie für **Repository **codecatalyst-artifact-source-repository****.

   1. Wählen Sie als **Branch-Name** **main** aus.

   1. Wählen Sie **Commit** (Übergeben).

   Sie haben jetzt einen Workflow erstellt. Eine Workflow-Ausführung wird aufgrund des oben im Workflow definierten Triggers automatisch gestartet. Insbesondere, als Sie die `codecatalyst-artifact-workflow.yaml` Datei in Ihr Quell-Repository übernommen (und per Push übertragen) haben, hat der Trigger die Workflow-Ausführung gestartet.

**Um den laufenden Workflow-Lauf zu sehen**

1. **Wählen Sie im Navigationsbereich **CI/CD** und dann Workflows aus.**

1. Wählen Sie den Workflow aus, den Sie gerade erstellt haben:. `codecatalyst-artifact-workflow`

1. Wählen Sie **GenerateFiles**, ob Sie den Fortschritt der ersten Build-Aktion sehen möchten.

1. Wählen Sie **Hochladen**, um den Fortschritt der zweiten Build-Aktion zu sehen.

1. Wenn die **Upload-Aktion** abgeschlossen ist, gehen Sie wie folgt vor:
   + Wenn die Workflow-Ausführung erfolgreich war, fahren Sie mit dem nächsten Verfahren fort.
   + Wenn die Workflow-Ausführung fehlgeschlagen ist, wählen Sie **Protokolle** aus, um das Problem zu beheben.

## Schritt 5: Überprüfen Sie die Ergebnisse
<a name="build-deploy.s3.verify"></a>

Gehen Sie nach der Ausführung des Workflows zum Amazon S3 S3-Service und schauen Sie in Ihrem *codecatalyst-artifact-bucket* Bucket nach. Es sollte jetzt die folgenden Dateien und Ordner enthalten:

```
.
|— .aws/
|— .git/
|Goodbye.txt
|Hello.txt
|REAME.md
```

Die `Hello.txt` Dateien `Goodbye.txt` und wurden hochgeladen, weil sie Teil des `codecatalystArtifact` Artefakts waren. Die `README.md` Dateien `.aws/``.git/`, und wurden hochgeladen, weil sie sich in Ihrem Quell-Repository befanden.

## Bereinigen
<a name="deploy-tut-lambda-cfn-clean-up"></a>

Räumen Sie auf CodeCatalyst und vermeiden Sie AWS , dass Ihnen diese Dienste in Rechnung gestellt werden.

**Zum Aufräumen in CodeCatalyst**

1. Öffnen Sie die CodeCatalyst Konsole unter [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Löschen Sie das `codecatalyst-artifact-source-repository` Quell-Repository.

1. Löschen Sie den `codecatalyst-artifact-workflow` Workflow.

**Zum Aufräumen in AWS**

1. Bereinigen Sie in Amazon S3 wie folgt:

   1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

   1. Löschen Sie die Dateien im `codecatalyst-artifact-bucket` Bucket.

   1. Löschen Sie den `codecatalyst-artifact-bucket` Bucket.

1. Bereinigen Sie in IAM wie folgt:

   1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

   1. Löschen Sie das `codecatalyst-s3-build-policy`.

   1. Löschen Sie das `codecatalyst-s3-build-role`.