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.
Themen
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
-
Erstellen Sie wie folgt eine Richtlinie für die Rolle:
-
Melden Sie sich an bei AWS.
Öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie im Navigationsbereich Richtlinien.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wählen Sie die JSONRegisterkarte.
-
Löschen Sie den vorhandenen Code.
-
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": "*"
-
Wählen Sie Next: Tags (Weiter: Tags) aus.
-
Klicken Sie auf Weiter: Prüfen.
-
Geben Sie im Feld Name Folgendes ein:
codecatalyst-s3-build-policy
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
Sie haben jetzt eine Berechtigungsrichtlinie erstellt.
-
-
Erstellen Sie die Build-Rolle wie folgt:
-
Wählen Sie im Navigationsbereich Roles (Rollen) und dann Create role (Rolle erstellen).
-
Wählen Sie Benutzerdefinierte Vertrauensrichtlinie.
-
Löschen Sie die bestehende benutzerdefinierte Vertrauensrichtlinie.
-
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" } ] }
-
Wählen Sie Weiter.
-
Suchen Sie unter Berechtigungsrichtlinien nach dem entsprechenden Kontrollkästchen
codecatalyst-s3-build-policy
und aktivieren Sie es. -
Wählen Sie Weiter.
-
Geben Sie als Rollenname Folgendes ein:
codecatalyst-s3-build-role
-
Geben Sie als Rollenbeschreibung Folgendes ein:
CodeCatalyst build role
-
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
Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Wählen Sie im Hauptbereich Create Bucket aus.
-
Geben Sie als Bucket-Namen Folgendes ein:
codecatalyst-artifact-bucket
-
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.
-
Wählen Sie unten auf der Seite Bucket erstellen aus.
-
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
Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/
. -
Navigieren Sie zu Ihrem Projekt,
codecatalyst-artifact-project
. -
Wählen Sie im Navigationsbereich Code und dann Source Repositories aus.
-
Wählen Sie Repository hinzufügen und anschließend Repository erstellen aus.
-
Geben Sie im Feld Repository-Name Folgendes ein:
codecatalyst-artifact-source-repository
-
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 dieGenerateFiles
Aktion zwei DateienHello.txt
undGoodbye.txt
packt sie in ein Ausgabeartefakt namenscodecatalystArtifact
. -
Eine weitere Build-Aktion namens
Upload
— Nach Abschluss derGenerateFiles
Aktion führt dieUpload
Aktion den AWS CLI Befehl aus,aws s3 sync
um die Dateien imcodecatalystArtifact
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
-
Wählen Sie im Navigationsbereich CI/CD und dann Workflows aus.
-
Wählen Sie Workflow erstellen aus.
-
Löschen Sie den YAML Beispielcode.
-
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:
-
codecatalyst-artifact-environment
durch den Namen der Umgebung, in der Sie erstellt habenVoraussetzungen. -
codecatalyst-account-connection
mit dem Namen der Kontoverbindung, in der Sie eine Verbindung erstellt habenVoraussetzungen. -
codecatalyst-s3-build-role
mit dem Namen der Build-Rolle, in der Sie erstellt habenSchritt 1: Erstellen Sie eine AWS Rolle. -
codecatalyst-artifact-bucket
mit dem Namen des Amazon S3, in dem Sie es erstellt habenSchritt 2: Erstellen Sie einen Amazon S3 S3-Bucket.
Informationen zu den Eigenschaften in dieser Datei finden Sie unterAktionen erstellen und testen YAML.
-
-
(Optional) Wählen Sie „Validieren“, um sicherzustellen, dass der YAML Code gültig ist, bevor Sie ihn bestätigen.
-
Wählen Sie Commit (Übergeben).
-
Geben Sie im Dialogfeld „Workflow bestätigen“ Folgendes ein:
-
Behalten Sie für Workflow-Dateiname die Standardeinstellung bei
codecatalyst-artifact-workflow
. -
Geben Sie für Commit-Nachricht Folgendes ein:
add initial workflow file
-
Wählen Sie für Repository codecatalyst-artifact-source-repository.
-
Wählen Sie als Branch-Name die Option main aus.
-
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 wenn Sie die
codecatalyst-artifact-workflow.yaml
Datei in Ihr Quell-Repository übertragen (und per Push) haben, hat der Trigger die Workflow-Ausführung gestartet. -
Um den laufenden Workflow-Lauf zu sehen
-
Wählen Sie im Navigationsbereich CI/CD und dann Workflows aus.
-
Wählen Sie den Workflow aus, den Sie gerade erstellt haben:.
codecatalyst-artifact-workflow
-
Wählen Sie GenerateFiles, ob Sie den Fortschritt der ersten Build-Aktion sehen möchten.
-
Wählen Sie Hochladen, um den Fortschritt der zweiten Build-Aktion zu sehen.
-
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
Öffnen Sie die CodeCatalyst Konsole unter https://codecatalyst.aws/
. -
Löschen Sie das
codecatalyst-artifact-source-repository
Quell-Repository. -
Löschen Sie den
codecatalyst-artifact-workflow
Workflow.
Zum Aufräumen in AWS
-
Bereinigen Sie in Amazon S3 wie folgt:
Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Löschen Sie die Dateien im
codecatalyst-artifact-bucket
Bucket. -
Löschen Sie den
codecatalyst-artifact-bucket
Bucket.
-
Räumen IAM Sie wie folgt auf:
Öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/
. -
Löschen Sie das
codecatalyst-s3-build-policy
. -
Löschen Sie das
codecatalyst-s3-build-role
.