Tutorial: Artefakte auf Amazon S3 hochladen - Amazon 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 in Ihr Quell-Repository übertragen.

Voraussetzungen

Bevor Sie beginnen, muss Folgendes sichergestellt sein:

  • Sie benötigen einen CodeCatalyst Bereich mit einem verbundenen AWS Konto. Weitere Informationen finden Sie unter Einen Raum schaffen.

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

  • 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 IAMStandardrolle eine beliebige Rolle aus. Sie werden später eine andere Rolle angeben.

    Weitere Informationen finden Sie unter Einsatz in AWS-Konten und VPCs.

Schritt 1: Erstellen Sie eine AWS Rolle

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 IAMRollen finden Sie im AWS AWS Identity and Access Management Benutzerhandbuch unter Rollen.

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

    1. Melden Sie sich an bei AWS.

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

    3. Wählen Sie im Navigationsbereich Richtlinien.

    4. Wählen Sie Create Policy (Richtlinie erstellen) aus.

    5. Wählen Sie die JSONRegisterkarte.

    6. Löschen Sie den vorhandenen Code.

    7. Fügen Sie folgenden Code ein:

      { "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": "*"
    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 Create Policy (Richtlinie erstellen) aus.

      Sie haben jetzt eine Berechtigungsrichtlinie erstellt.

  2. Erstellen Sie die Build-Rolle wie folgt:

    1. Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).

    2. Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.

    3. Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.

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

      { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    5. Wählen Sie Weiter.

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

    7. Wählen Sie Weiter.

    8. Geben Sie als Rollenname Folgendes ein:

      codecatalyst-s3-build-role
    9. Geben Sie als Rollenbeschreibung Folgendes ein:

      CodeCatalyst build role
    10. Wählen Sie Rolle erstellen.

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

Schritt 2: Erstellen Sie einen Amazon S3 S3-Bucket

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

  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 in der Allgemeine AWS-Referenz.

  5. Wählen Sie unten auf der Seite Bucket erstellen 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 unterErstellen eines Quell-Repositorys.

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 Source Repositories aus.

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

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

    codecatalyst-artifact-source-repository
  6. Wählen Sie Create (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 die Workflow-Ausführung automatisch, wenn Sie eine Änderung an Ihr Quell-Repository übertragen. Weitere Informationen zu Triggern finden Sie unterAutomatisches Starten einer Workflow-Ausführung mithilfe von Triggern.

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

  • 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 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 auslassen, müssen Sie sicherstellen, dass die im Feld Standardrolle angegebene IAM Rolle in Ihrer Umgebung die unter beschriebenen Berechtigungen und Vertrauensrichtlinien enthält. Schritt 1: Erstellen Sie eine AWS Rolle Weitere Informationen zum Einrichten einer Umgebung mit einer IAM Standardrolle finden Sie unterErstellen 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 unterAktionen erstellen und testen YAML.

  5. (Optional) Wählen Sie „Validieren“, um sicherzustellen, dass der YAML Code gültig ist, bevor Sie ihn bestätigen.

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

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

    1. Behalten Sie für Workflow-Dateiname die Standardeinstellung beicodecatalyst-artifact-workflow.

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

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

    4. Wählen Sie als Branch-Name die Option main aus.

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

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

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

  4. Wählen Sie Hochladen, 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 aus, um das Problem zu beheben.

Schritt 5: Überprüfen Sie die Ergebnisse

Nachdem der Workflow ausgeführt wurde, rufen Sie den Amazon S3 S3-Service auf und suchen Sie in Ihrem codecatalyst-artifact-bucket Eimer. 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

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

  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 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. Räumen IAM Sie wie folgt auf:

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

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

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