Erstellen einer statischen Website mit in einem S3-Bucket gehosteter Build-Ausgabe - AWS CodeBuild

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.

Erstellen einer statischen Website mit in einem S3-Bucket gehosteter Build-Ausgabe

Sie können die Verschlüsselung von Artefakten in einem Build deaktivieren. Dies ist sinnvoll, damit Sie Artefakte an einem Ort veröffentlichen können, der zum Hosten einer Website konfiguriert ist. (Sie können verschlüsselte Artefakte nicht veröffentlichen.) Dieses Beispiel zeigt, wie Sie Webhooks verwenden können, um eine Build-Erstellung auszulösen und die Build-Artefakte in einem S3-Bucket zu veröffentlichen, der als Website konfiguriert wurde.

  1. Befolgen Sie die Anleitung unter Einrichten einer statischen Website, um einen S3-Bucket als Website zu konfigurieren.

  2. Öffne die AWS CodeBuild Konsole unter https://console.aws.amazon.com/codesuite/codebuild/home.

  3. Wenn eine CodeBuild Informationsseite angezeigt wird, wählen Sie Build-Projekt erstellen. Erweitern Sie andernfalls im Navigationsbereich Build, wählen Sie Build projects und dann Create build project aus.

  4. Geben Sie unter Project name (Projektname) einen Namen für dieses Build-Projekt ein. Die Namen von Build-Projekten müssen für jedes AWS Konto eindeutig sein. Sie können auch eine optionale Beschreibung des Build-Projekts hinzufügen, damit andere Benutzer verstehen, wofür dieses Projekt verwendet wird.

  5. Wählen Sie unter Quelle für Quellanbieter die Option GitHub. Folgen Sie den Anweisungen, um eine Verbindung herzustellen (oder erneut herzustellen) GitHub, und wählen Sie dann Autorisieren aus.

    Wählen Sie für Webhook die Option Rebuild every time a code change is pushed to this repository (Erneut erstellen, wenn eine Codeänderung an diesen Repository übergeben wird) aus. Sie können dieses Kontrollkästchen nur aktivieren, wenn Sie Use a repository in my account (Ein Repository in meinem Konto verwenden) ausgewählt haben.

    Die Webhook-Konfiguration.
  6. In Environment (Umgebung):

    Führen Sie für Environment image (Umgebungs-Image) einen der folgenden Schritte aus:

    • Um ein Docker-Image zu verwenden, das von verwaltet wird AWS CodeBuild, wählen Sie Verwaltetes Image aus und treffen Sie dann eine Auswahl unter Betriebssystem, Runtime (s), Image und Image-Version. Treffen Sie eine Auswahl unter Environment type (Umgebungstyp), sofern verfügbar.

    • Wenn Sie ein anderes Docker-Image verwenden möchten, wählen Sie Custom image (Benutzerdefiniertes Image) aus. Wählen Sie als Umgebungstyp Linux ARMGPU, Linux oder Windows aus. Wenn Sie Andere Registrierung wählenURL, geben Sie für Externe Registrierung den Namen und das Tag des Docker-Images in Docker Hub ein. Verwenden Sie dabei das Format. docker repository/docker image name Wenn Sie sich für Amazon entscheidenECR, verwenden Sie das ECRAmazon-Repository und ECRdas Amazon-Image, um das Docker-Image in Ihrem AWS Konto auszuwählen.

    • Um ein privates Docker-Image zu verwenden, wählen Sie Benutzerdefiniertes Image. Wählen Sie als Umgebungstyp Linux ARMGPU, Linux oder Windows aus. Wählen Sie für Image-Registrierung die ARN Option Andere Registrierung aus und geben Sie dann die Anmeldeinformationen für Ihr privates Docker-Image ein. Die Anmeldeinformationen müssen von Secrets Manager erstellt werden. Weitere Informationen finden Sie unter Was ist AWS Secrets Manager? im AWS Secrets Manager -Benutzerhandbuch.

  7. Führen Sie unter Service role (Service-Rolle) einen der folgenden Schritte aus:

    • Wenn Sie keine CodeBuild Servicerolle haben, wählen Sie Neue Servicerolle. Geben Sie im Feld Rollenname einen Namen für die neue Rolle ein.

    • Wenn Sie eine CodeBuild Servicerolle haben, wählen Sie Bestehende Servicerolle aus. Wählen Sie unter Rolle ARN die Servicerolle aus.

    Anmerkung

    Wenn Sie die Konsole verwenden, um ein Build-Projekt zu erstellen oder zu aktualisieren, können Sie gleichzeitig eine CodeBuild Servicerolle erstellen. In der Standardeinstellung funktioniert diese Rolle ausschließlich mit diesem Projekt. Wenn Sie die Konsole verwenden, um die Servicerolle mit einem anderen Build-Projekt zu verknüpfen, wird die Rolle so aktualisiert, dass sie mit dem anderen Build-Projekt funktioniert. Eine Servicerolle kann in bis zu zehn Build-Projekten verwendet werden.

  8. Führen Sie in Buildspec einen der folgenden Schritte aus:

    • Wählen Sie Buildspec-Datei verwenden, um die Datei buildspec.yml im Quellcode-Stammverzeichnis zu verwenden.

    • Wählen Sie Build-Befehle einfügen, um die Konsole zum Einfügen von Build-Befehlen zu verwenden.

    Weitere Informationen hierzu finden Sie unter Build-Spezifikationsreferenz.

  9. Wählen Sie unter Artifacts für Type Amazon S3 aus, um die Build-Ausgabe in einem S3-Bucket zu speichern.

  10. Wählen Sie für Bucket name (Bucket-Name) den Namen des S3-Buckets, den Sie in Schritt 1 als Website konfiguriert haben.

  11. Wenn Sie Build-Befehle in Umgebung einfügen ausgewählt haben, geben Sie für Ausgabedateien die Speicherorte der Dateien aus dem Build ein, die Sie in den Ausgabe-Bucket einfügen möchten. Wenn Sie mehr als einen Speicherort haben, verwenden Sie ein Komma, um jede Position zu trennen (z. B. appspec.yml, target/my-app.jar). Weitere Informationen finden Sie unter Artifacts reference-key in the buildspec file.

  12. Wählen Sie Disable artifacts encryption (Artefaktverschlüsselung deaktivieren) aus.

  13. Erweitern Sie Additional configuration (Zusätzliche Einstellungen) und wählen Sie die entsprechenden Optionen.

  14. Wählen Sie Create build project (Build-Projekt erstellen) aus. Wählen Sie auf der Seite für das Erstellen des Projekts in Build history (Build-Verlauf) die Option Start build (Build starten) aus, um den Build auszuführen.

  15. (Optional) Folgen Sie den Anweisungen unter Beispiel: Beschleunigen Sie Ihre Website mit Amazon CloudFront im Amazon S3 S3-Entwicklerhandbuch.