Amazon Elastic File System-Beispiel für AWS CodeBuild - 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.

Amazon Elastic File System-Beispiel für AWS CodeBuild

Möglicherweise möchten Sie Ihre AWS CodeBuild Builds auf Amazon Elastic File System erstellen, einem skalierbaren, gemeinsam genutzten Dateidienst für EC2 Amazon-Instances. Die Speicherkapazität von Amazon EFS ist elastisch, sodass sie mit dem Hinzufügen und Entfernen von Dateien wächst oder schrumpft. Über eine einfache Web-Service-Schnittstelle können Sie Dateisysteme erstellen und konfigurieren. Die gesamte Dateispeicher-Infrastruktur wird für Sie verwaltet. Sie müssen sich damit nicht um Bereitstellung, Patching oder Wartung von Dateisystem-Konfigurationen kümmern. Weitere Informationen finden Sie unter Was ist Amazon Elastic File System? im Amazon Elastic File System-Benutzerhandbuch.

Dieses Beispiel zeigt Ihnen, wie Sie ein CodeBuild Projekt so konfigurieren, dass es eine Java-Anwendung in einem Amazon EFS-Dateisystem mountet und dann erstellt. Bevor Sie beginnen, müssen Sie eine Java-Anwendung zur Erstellung bereit haben, die in einen S3-Eingabe-Bucket oder ein AWS CodeCommit, GitHub, GitHub Enterprise Server- oder Bitbucket-Repository hochgeladen wird.

Daten, die für Ihr Dateisystem übertragen werden, werden verschlüsselt. Informationen zum Verschlüsseln von Daten während der Übertragung mit einem anderen Bild finden Sie unter Daten im Transit verschlüsseln.

Verwendung AWS CodeBuild mit Amazon Elastic File System

Das Beispiel behandelt die vier grundlegenden Schritte, die für die Verwendung von Amazon EFS mit erforderlich sind AWS CodeBuild. Diese sind:

  1. Erstellen Sie eine virtuelle private Cloud (VPC) in Ihrem AWS Konto.

  2. Erstellen Sie ein Dateisystem, das diese VPC verwendet.

  3. Erstellen und erstellen Sie ein CodeBuild Projekt, das die VPC verwendet. Das CodeBuild Projekt verwendet Folgendes, um das Dateisystem zu identifizieren:

    • Eine eindeutige Dateisystemkennung. Sie wählen die Kennung, wenn Sie das Dateisystem in Ihrem Build-Projekt angeben.

    • Die Dateisystem-ID. Die ID wird angezeigt, wenn Sie Ihr Dateisystem in der Amazon EFS-Konsole aufrufen.

    • Ein Mountingpunkt. Dies ist ein Verzeichnis in Ihrem Docker-Container, das das Dateisystem mountet.

    • Mountingoptionen. Dazu gehören Details zum Mounten des Dateisystems.

  4. Überprüfen Sie das Build-Projekt, um sicherzustellen, dass die richtigen Projektdateien und Variablen generiert wurden.

Anmerkung

Ein in Amazon EFS erstelltes Dateisystem wird nur auf Linux-Plattformen unterstützt.

Schritt 1: Erstellen Sie eine VPC mit AWS CloudFormation

Erstellen Sie Ihre VPC mit einer AWS CloudFormation Vorlage.

  1. Folgen Sie den Anweisungen unter AWS CloudFormation VPC-Vorlage AWS CloudFormation So erstellen Sie eine VPC.

    Anmerkung

    Die mit dieser AWS CloudFormation Vorlage erstellte VPC hat zwei private Subnetze und zwei öffentliche Subnetze. Sie dürfen private Subnetze nur verwenden, wenn Sie das Dateisystem mounten AWS CodeBuild , das Sie in Amazon EFS erstellt haben. Bei Verwendung eines der öffentlichen Subnetze schlägt der Build fehl.

  2. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  3. Wählen Sie die VPC aus, mit AWS CloudFormation der Sie erstellt haben.

  4. Notieren Sie sich den Namen der VPC und ihre ID, die auf der Registerkarte Description (Beschreibung) angezeigt werden. Beide Werte werden später beim Erstellen des AWS CodeBuild -Projekts in diesem Beispiel benötigt.

Schritt 2: Erstellen Sie ein Amazon Elastic File System-Dateisystem mit Ihrer VPC

Erstellen Sie ein einfaches Amazon EFS-Dateisystem für dieses Beispiel mit der VPC, die Sie zuvor erstellt haben.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon EFS-Konsole unter https://console.aws.amazon.com/efs/.

  2. Wählen Sie Create file system (Dateisystem erstellen) aus.

  3. Wählen Sie unter VPC den zuvor in diesem Beispiel notierten VPC-Namen aus.

  4. Lassen Sie die Availability Zones für Ihre Subnetze ausgewählt.

  5. Wählen Sie Next Step (Weiter) aus.

  6. Geben Sie unter Tags hinzufügen für den Standardschlüssel Name im Feld Wert den Namen Ihres Amazon EFS-Dateisystems ein.

  7. Lassen Sie Bursting und General Purpose (Universal) als Standardleistungs- und -durchsatzmodus ausgewählt. Wählen Sie dann Next Step (Nächster Schritt) aus.

  8. Wählen Sie unter Configure client access (Client-Zugriff konfigurieren) die Option Next Step (Nächster Schritt).

  9. Klicken Sie auf Create File System (Dateisystem erstellen).

  10. (Optional) Wir empfehlen, Ihrem Amazon EFS-Dateisystem eine Richtlinie hinzuzufügen, die die Verschlüsselung von Daten bei der Übertragung erzwingt. Wählen Sie in der Amazon EFS-Konsole Dateisystemrichtlinie, klicken Sie auf Bearbeiten, aktivieren Sie das Kästchen Verschlüsselung während der Übertragung für alle Clients erzwingen und wählen Sie dann Speichern aus.

Schritt 3: Erstellen Sie ein CodeBuild Projekt zur Verwendung mit Amazon EFS

Erstellen Sie ein AWS CodeBuild Projekt, das die VPC verwendet, die Sie zuvor in diesem Beispiel erstellt haben. Wenn der Build ausgeführt wird, hängt er das zuvor erstellte Amazon EFS-Dateisystem ein. Als Nächstes speichert es die von Ihrer Java-Anwendung erstellte .jar-Datei im Mountingpunkt-Verzeichnis Ihres Dateisystems.

  1. Öffnen Sie die AWS CodeBuild Konsole unter https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Wählen Sie im Navigationsbereich Build projects (Build-Projekte) gefolgt von Create build project (Build-Projekt erstellen) aus.

  3. Geben Sie im Feld Projektname einen Namen für Ihr Projekt an.

  4. Wählen Sie unter Source provider (Quellanbieter) das Repository aus, in dem sich die zu erstellende Java-Anwendung befindet.

  5. Geben Sie Informationen ein, z. B. eine Repository-URL, CodeBuild anhand derer Ihre Anwendung gefunden wird. Die Optionen unterscheiden sich je nach Quellanbieter. Weitere Informationen finden Sie unter Choose source provider.

  6. Wählen Sie unter Environment image (Umgebungs-Image) die Option Managed image (Verwaltetes Image) aus.

  7. Wählen Sie unter Operating system (Betriebssystem) die Option Amazon Linux 2 aus.

  8. Wählen Sie unter Runtime(s) (Laufzeit(en)) die Option Standard aus.

  9. Wählen Sie unter Image die Option aws/codebuild/amazonlinux-x86_64-standard:4.0 aus.

  10. Wählen Sie für Environment type (Umgebungstyp) die Option Linux aus.

  11. Wählen Sie unter Service role (Servicerolle) die Option New service role (Neue Servicerolle) aus. Geben Sie im Feld Rollenname einen Namen für die Rolle ein, die für Sie erstellt wurde. CodeBuild

  12. Erweitern Sie Additional configuration (Zusätzliche Konfiguration).

  13. Wählen Sie Enable this flag if you want to build Docker images or want your builds to get elevated privileges (Dieses Flag aktivieren, wenn Docker-Abbilder erstellt oder die Builds erweiterte Berechtigungen erhalten sollen) aus.

    Anmerkung

    Standardmäßig ist der Docker-Daemon für Nicht-VPC-Builds aktiviert. Wenn Sie Docker-Container für VPC-Builds verwenden möchten, lesen Sie auf der Docker Docs-Website unter Runtime Privilege and Linux Capabilities nach und aktivieren Sie den privilegierten Modus. Außerdem unterstützt Windows den privilegierten Modus nicht.

  14. Wählen Sie unter VPC die VPC-ID aus.

  15. Wählen Sie unter Subnets (Subnetze) mindestens eines der privaten Subnetze aus, die Ihrer VPC zugeordnet sind. Sie müssen private Subnetze in einem Build verwenden, der ein Amazon EFS-Dateisystem mountet. Bei Verwendung eines öffentlichen Subnetzes schlägt der Build fehl.

  16. Wählen Sie unter Security groups (Sicherheitsgruppen) die Standardsicherheitsgruppe aus.

  17. Geben Sie unter File systems (Dateisysteme) die folgenden Informationen ein:

    • Geben Sie unter Identifier (Bezeichner), einen eindeutigen Dateisystembezeichner ein. Dieser muss weniger als 129 Zeichen und nur alphanumerische Zeichen und Unterstriche enthalten. CodeBuild verwendet diesen Bezeichner, um eine Umgebungsvariable zu erstellen, die das elastische Dateisystem identifiziert. Das Format der Umgebungsvariablen ist CODEBUILD_<file_system_identifier> in Großbuchstaben. Wenn Sie beispielsweise my_efs eingeben, lautet die Umgebungsvariable CODEBUILD_MY_EFS.

    • Wählen Sie für ID die Dateisystem-ID aus.

    • (Optional) Geben Sie ein Verzeichnis im Dateisystem ein. CodeBuild hängt dieses Verzeichnis ein. Wenn Sie Directory path (Verzeichnispfad) leer lassen, mountet CodeBuild das gesamte Dateisystem. Der Dateipfad ist relativ zum Stamm des Dateisystems.

    • Geben Sie für Mount Point den absoluten Pfad des Verzeichnisses in Ihrem Build-Container ein, in dem das Dateisystem eingehängt ist. Wenn dieses Verzeichnis nicht existiert, CodeBuild wird es während des Builds erstellt.

    • (Optional) Geben Sie Mountingoptionen ein. Wenn Sie das Feld Einhängeoptionen leer lassen, CodeBuild werden die Standard-Einhängeoptionen verwendet:

      nfsvers=4.1 rsize=1048576 wsize=1048576 hard timeo=600 retrans=2

      Weitere Informationen finden Sie unter Empfohlene NFS-Mount-Optionen im Amazon Elastic File System-Benutzerhandbuch.

  18. Wählen Sie unter Build specification (Build-Spezifikation) die Option Insert build commands (Build-Befehle einfügen) und anschließend Switch to editor (Zum Editor wechseln) aus.

  19. Geben Sie die folgenden Build-Spezifikationsbefehle in den Editor ein. Ersetzen Sie <file_system_identifier> durch den Bezeichner, den Sie in Schritt 17 eingegeben haben. Verwenden Sie Großbuchstaben (z. B. CODEBUILD_MY_EFS).

    version: 0.2 phases: install: runtime-versions: java: corretto11 build: commands: - mvn compile -Dgpg.skip=true -Dmaven.repo.local=$CODEBUILD_<file_system_identifier>
  20. Verwenden Sie für alle anderen Einstellungen die Standardwerte und wählen Sie Create build project (Build-Projekt erstellen) aus. Wenn Ihr Build abgeschlossen ist, wird die Konsolenseite für Ihr Projekt angezeigt.

  21. Wählen Sie Start build (Build starten).

Schritt 4: Überprüfen Sie das Build-Projekt

Nachdem Ihr AWS CodeBuild Projekt erstellt wurde:

  • Sie haben eine von Ihrer Java-Anwendung erstellte JAR-Datei, die für Ihr Amazon EFS-Dateisystem in Ihrem Mount-Point-Verzeichnis erstellt wurde.

  • Eine Umgebungsvariable, die Ihr Dateisystem identifiziert, wird mithilfe der beim Erstellen des Projekts eingegebenen Dateisystembezeichner erstellt.

Weitere Informationen finden Sie unter Mounten von Dateisystemen im Amazon Elastic File System-Benutzerhandbuch.