View a markdown version of this page

Tutorial: Artefakte auf Amazon S3 hochladen - Amazon CodeCatalyst

Amazon CodeCatalyst ist nicht mehr offen für neue Kunden. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Wie migriert man von CodeCatalyst.

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

In diesem Tutorial erfahren Sie, wie Sie mithilfe eines CodeCatalyst Amazon-Workflows, der einige Build-Aktionen 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 undGoodbye.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 an Ihr Quell-Repository übertragen.

Voraussetzungen

Bevor Sie beginnen, muss Folgendes sichergestellt sein:

  • Du benötigst einen CodeCatalyst Bereich mit einem verbundenen AWS Konto. Weitere Informationen finden Sie unter Erstellen einer Umgebung.

  • In deinem Bereich benötigst du 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.

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

    • Verbinde 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 Bereitstellung in AWS-Konten und VPCs.

Schritt 1: Erstellen Sie eine AWS role

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 Erlaubnis, 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 eine Build-Rolle haben, die Sie für ein anderes Tutorial erstellt haben, können Sie sie auch für dieses Tutorial verwenden. Stellen Sie einfach sicher, dass die Berechtigungen und Vertrauensrichtlinien erfüllt sind, die im folgenden Verfahren beschrieben werden.

Weitere Informationen zu IAM-Rollen finden Sie im AWS AWS Identity and Access Management Benutzerhandbuch unter IAM-Rollen.

So erstellen Sie eine Build-Rolle
  1. Erstellen Sie wie folgt eine Richtlinie für die Rolle:

    1. Melden Sie sich an bei AWS.

    2. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

    3. Wählen Sie im Navigationsbereich Richtlinien.

    4. Wählen Sie Richtlinie erstellen aus.

    5. Wählen Sie den Tab JSON.

    6. Löschen Sie den vorhandenen Code.

    7. 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 zur Ausführung von Workflow-Aktionen verwendet wird, verwenden Sie den Platzhalter in der Ressourcenrichtlinien-Anweisung und erweitern Sie dann die Richtlinie mit dem Ressourcennamen, sobald diese verfügbar ist.

      "Resource": "*"
    8. Wählen Sie Next: Tags (Weiter: Tags) aus.

    9. Klicken Sie auf Weiter: Prüfen.

    10. Geben Sie im Feld Name Folgendes ein:

      codecatalyst-s3-build-policy
    11. Wählen Sie Richtlinie erstellen aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

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

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie aus.

    3. Löschen Sie die vorhandene benutzerdefinierte Vertrauensrichtlinie.

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

    5. Wählen Sie Weiter aus.

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

    7. Wählen Sie Weiter aus.

    8. Geben Sie für den Rollennamen Folgendes ein:

      codecatalyst-s3-build-role
    9. Geben Sie für die Rollenbeschreibung Folgendes ein:

      CodeCatalyst build role
    10. 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-Bucket

In diesem Schritt erstellen Sie einen Amazon 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-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im Hauptbereich Create bucket aus.

  3. Geben Sie als Bucket-Namen Folgendes ein:

    codecatalyst-artifact-bucket
  4. 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 im. Allgemeine AWS-Referenz

  5. Wählen Sie unten auf der Seite Create bucket aus.

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

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 unterEin Quell-Repository erstellen.

Um ein Quell-Repository zu erstellen
  1. Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/.

  2. Navigieren Sie zu Ihrem Projekt,codecatalyst-artifact-project.

  3. Wählen Sie im Navigationsbereich Code und dann Quell-Repositorys aus.

  4. Wählen Sie Add repository und dann Create repository aus.

  5. Geben Sie im Feld Repository-Name Folgendes ein:

    codecatalyst-artifact-source-repository
  6. Wählen Sie Erstellen aus.

Sie haben jetzt ein Repository mit dem Namen erstelltcodecatalyst-artifact-source-repository.

Schritt 4: Erstellen Sie einen Workflow

In diesem Schritt erstellen Sie einen Workflow, der aus den folgenden Bausteinen besteht, die nacheinander ausgeführt werden:

  • Ein Trigger — Dieser Trigger startet den Workflow-Lauf, der automatisch ausgeführt wird, wenn Sie eine Änderung an Ihrem Quell-Repository vornehmen. Weitere Informationen zu Triggern finden Sie unterAutomatisches Starten einer Workflow-Ausführung mithilfe von Triggern.

  • Eine Build-Aktion namens GenerateFiles — Beim Triggern erstellt die GenerateFiles Aktion zwei Dateien Hello.txt und Goodbye.txt packt sie in ein Ausgabe-Artefakt namenscodecatalystArtifact.

  • Eine weitere Build-Aktion namens Upload — Nach Abschluss der GenerateFiles Aktion führt die Upload Aktion den AWS CLI Befehl aws s3 sync zum Hochladen der Dateien in das codecatalystArtifact und in Ihrem Quell-Repository in Ihren Amazon S3-Bucket aus. Der AWS CLI ist auf der CodeCatalyst Rechenplattform vorinstalliert und vorkonfiguriert, sodass Sie ihn nicht installieren oder konfigurieren müssen.

    Weitere Informationen zur vorkonfigurierten Software auf der CodeCatalyst Computerplattform finden Sie unter. Angabe von Images für die Laufzeitumgebung Weitere Informationen zum aws s3 sync Befehl AWS CLI's finden Sie unter sync in der AWS CLI Befehlsreferenz.

Weitere Informationen zur Build-Aktion finden Sie unterBauen mit Workflows.

So erstellen Sie ein Workflow
  1. Wählen Sie im Navigationsbereich CI/CD und dann Workflows aus.

  2. Wählen Sie Workflow erstellen aus.

  3. Löschen Sie den YAML-Beispielcode.

  4. 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 in Ihrer Umgebung angegebene Rolle die unter beschriebenen Berechtigungen und Vertrauensrichtlinien enthält. Schritt 1: Erstellen Sie eine AWS role Weitere Informationen zum Einrichten einer Umgebung mit einer Standard-IAM-Rolle finden Sie unter. Erstellen einer Umgebung

    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:

    Informationen zu den Eigenschaften in dieser Datei finden Sie in derAktionen erstellen und testen YAML.

  5. (Optional) Wählen Sie Validieren, um vor dem Commit sicherzustellen, dass der YAML-Code gültig ist.

  6. Wählen Sie Commit (Übergeben).

  7. Geben Sie im Dialogfeld „Commit-Workflow“ Folgendes ein:

    1. Belassen Sie für den Workflow-Dateinamen die Standardeinstellung,codecatalyst-artifact-workflow.

    2. Geben Sie für Nachricht senden Folgendes ein:

      add initial workflow file
    3. Wählen Sie für Repository die Option codecatalyst-artifact-source-repository aus.

    4. Wählen Sie für Branch name die Option main aus.

    5. Wählen Sie Commit (Übergeben).

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

Um den laufenden Workflow-Lauf zu sehen
  1. Wählen Sie im Navigationsbereich CI/CD und dann Workflows aus.

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

  3. Wählen Sie GenerateFiles, um den Fortschritt der ersten Build-Aktion zu sehen.

  4. Wählen Sie Upload, um den Fortschritt der zweiten Build-Aktion zu sehen.

  5. 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, um das Problem zu beheben.

Schritt 5: Überprüfen Sie die Ergebnisse

Nachdem der Workflow ausgeführt wurde, rufen Sie den Amazon S3-Service auf 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 Goodbye.txt und Hello.txt -Dateien wurden hochgeladen, weil sie Teil des codecatalystArtifact Artefakts waren. Die .aws/.git/, und README.md -Dateien wurden hochgeladen, weil sie sich in Ihrem Quell-Repository befanden.

Bereinigen

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

Zum Aufräumen in CodeCatalyst
  1. Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/.

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

  3. 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-Konsole unter https://console.aws.amazon.com/s3/.

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

    3. Löschen Sie den codecatalyst-artifact-bucket Bucket.

  2. Bereinigen Sie in IAM wie folgt:

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

    2. Löschen Sie das codecatalyst-s3-build-policy.

    3. Löschen Sie das codecatalyst-s3-build-role.