Tutorial: Den Micro Focus-Build für die BankDemo Beispielanwendung einrichten - AWS Mainframe-Modernisierung

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: Den Micro Focus-Build für die BankDemo Beispielanwendung einrichten

AWS Mainframe-Modernisierung bietet Ihnen die Möglichkeit, Builds und CI/CD-Pipelines (Continuous Integration/Continuous Delivery) für Ihre migrierten Anwendungen einzurichten. Diese Builds und Pipelines nutzen AWS CodeBuild und stellen diese Funktionen bereit. AWS CodeCommit AWS CodePipeline CodeBuild ist ein vollständig verwalteter Build-Service, der Ihren Quellcode kompiliert, Komponententests durchführt und Artefakte erzeugt, die sofort einsatzbereit sind. CodeCommit ist ein Versionskontrolldienst, mit dem Sie Git-Repositorys privat in der Cloud speichern und verwalten können. AWS CodePipeline ist ein Dienst zur kontinuierlichen Bereitstellung, mit dem Sie die zur Veröffentlichung Ihrer Software erforderlichen Schritte modellieren, visualisieren und automatisieren können.

In diesem Tutorial wird gezeigt, wie Sie AWS CodeBuild den Quellcode der BankDemo Beispielanwendung aus Amazon S3 kompilieren und den kompilierten Code anschließend zurück nach Amazon S3 exportieren.

AWS CodeBuild ist ein vollständig verwalteter Continuous Integration-Service, der Quellcode kompiliert, Tests durchführt und Softwarepakete erstellt, die sofort einsatzbereit sind. Mit CodeBuild können Sie vorgefertigte Build-Umgebungen verwenden oder benutzerdefinierte Build-Umgebungen erstellen, die Ihre eigenen Build-Tools verwenden. In diesem Demo-Szenario wird die zweite Option verwendet. Es besteht aus einer CodeBuild Build-Umgebung, die ein vorgefertigtes Docker-Image verwendet.

Wichtig

Bevor Sie mit Ihrem Mainframe-Modernisierungsprojekt beginnen, empfehlen wir Ihnen, sich über das AWS Migration Acceleration Program (MAP) für Mainframe zu informieren oder sich an AWS Mainframe-Spezialisten zu wenden, um mehr über die Schritte zu erfahren, die zur Modernisierung einer Mainframe-Anwendung erforderlich sind.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, müssen Sie die folgenden Voraussetzungen erfüllen.

  • Laden Sie die BankDemo Beispielanwendung herunter und entpacken Sie sie in einen Ordner. Der Quellordner enthält COBOL Programme und Copybooks sowie Definitionen. Er enthält auch einen JCL Referenzordner, den Sie jedoch nicht erstellen JCL müssen. Der Ordner enthält auch die für den Build erforderlichen Metadateien.

  • Wählen Sie in der AWS Mainframe Modernization Console die Option Tools aus. Wählen Sie unter Analysis, Development and Build Assets die Option Assets mit meinem AWS Konto teilen aus.

Schritt 1: Teilen Sie die Build-Assets mit AWS Ihrem Konto

In diesem Schritt stellen Sie sicher, dass Sie die Build-Assets mit Ihrem AWS Konto teilen, insbesondere in der Region, in der die Assets verwendet werden.

  1. Öffnen Sie die AWS Mainframe Modernization Console unter https://console.aws.amazon.com/m2/.

  2. Wählen Sie in der linken Navigationsleiste Tools aus.

  3. Wählen Sie unter Assets analysieren, entwickeln und erstellen die Option Assets mit meinem AWS Konto teilen aus.

Wichtig

Sie müssen diesen Schritt in jeder AWS Region, in der Sie Builds erstellen möchten, einmal ausführen.

Schritt 2: Amazon S3 S3-Buckets erstellen

In diesem Schritt erstellen Sie zwei Amazon S3 S3-Buckets. Der erste ist ein Eingabe-Bucket für den Quellcode und der andere ist ein Ausgabe-Bucket für die Build-Ausgabe. Weitere Informationen finden Sie unter Erstellen, Konfigurieren und Arbeiten mit Amazon S3 S3-Buckets im Amazon S3 S3-Benutzerhandbuch.

  1. Um den Eingabe-Bucket zu erstellen, melden Sie sich bei der Amazon S3 S3-Konsole an und wählen Sie Create Bucket.

  2. Geben Sie in der allgemeinen Konfiguration einen Namen für den Bucket an und geben Sie an AWS-Region , wo Sie den Bucket erstellen möchten. Ein Beispiel für den Namen ist codebuild-regionId-accountId-input-bucket Where regionId is the AWS-Region of the Bucket und accountId ist Ihre AWS-Konto ID.

    Anmerkung

    Wenn Sie den Bucket in einer anderen Region als USA AWS-Region Ost (Nord-Virginia) erstellen, geben Sie den LocationConstraint Parameter an. Weitere Informationen finden Sie unter Create Bucket in der Amazon Simple Storage Service API Reference.

  3. Behalten Sie alle anderen Einstellungen bei und wählen Sie Create Bucket.

  4. Wiederholen Sie die Schritte 1—3, um den Ausgabe-Bucket zu erstellen. Ein Beispiel für den Namen ist codebuild-regionId-accountId-output-bucket where regionId is the AWS-Region of the Bucket und accountId ist Ihre AWS-Konto ID.

    Welche Namen Sie auch immer für diese Buckets wählen, achten Sie darauf, sie in diesem Tutorial zu verwenden.

Schritt 3: Erstellen Sie die Build-Spezifikationsdatei

In diesem Schritt erstellen Sie eine Build-Spezifikationsdatei,. Diese Datei enthält Build-Befehle und zugehörige Einstellungen im YAML Format CodeBuild zum Ausführen des Builds. Weitere Informationen finden Sie unter Referenz zur Build-Spezifikation für CodeBuild im AWS CodeBuild Benutzerhandbuch.

  1. Erstellen Sie als Voraussetzung eine Datei mit dem Namen buildspec.yml in dem Verzeichnis, das Sie entpackt haben.

  2. Fügen Sie der Datei den folgenden Inhalt hinzu und speichern Sie sie. Für diese Datei sind keine Änderungen erforderlich.

    version: 0.2 env: exported-variables: - CODEBUILD_BUILD_ID - CODEBUILD_BUILD_ARN phases: install: runtime-versions: python: 3.7 pre_build: commands: - echo Installing source dependencies... - ls -lR $CODEBUILD_SRC_DIR/source build: commands: - echo Build started on `date` - /start-build.sh -Dbasedir=$CODEBUILD_SRC_DIR/source -Dloaddir=$CODEBUILD_SRC_DIR/target post_build: commands: - ls -lR $CODEBUILD_SRC_DIR/target - echo Build completed on `date` artifacts: files: - $CODEBUILD_SRC_DIR/target/**

    Hier $CODEBUILD_SRC_DIR/target sind Umgebungsvariablen CODEBUILD_BUILD_ID CODEBUILD_BUILD_ARN$CODEBUILD_SRC_DIR/source, und innerhalb verfügbar CodeBuild. Weitere Informationen finden Sie unter Umgebungsvariablen in Build-Umgebungen.

    Zu diesem Zeitpunkt sollte Ihr Verzeichnis so aussehen.

    (root directory name) |-- build.xml |-- buildspec.yml |-- LICENSE.txt |-- source |... etc.
  3. Komprimieren Sie den Inhalt des Ordners in eine Datei mit dem NamenBankDemo.zip.. Für dieses Tutorial können Sie den Ordner nicht komprimieren. Stattdessen komprimieren Sie den Inhalt des Ordners in die DateiBankDemo.zip.

Schritt 4: Laden Sie die Quelldateien hoch

In diesem Schritt laden Sie den Quellcode für die BankDemo Beispielanwendung in Ihren Amazon S3 S3-Eingabe-Bucket hoch.

  1. Melden Sie sich bei der Amazon S3 S3-Konsole an und wählen Sie im linken Navigationsbereich Buckets aus. Wählen Sie dann den Eingabe-Bucket aus, den Sie zuvor erstellt haben.

  2. Wählen Sie unter Objekte die Option Hochladen aus.

  3. Wählen Sie im Bereich Dateien und Ordner die Option Dateien hinzufügen aus.

  4. Navigieren Sie zu Ihrer BankDemo.zip Datei und wählen Sie sie aus.

  5. Klicken Sie auf Hochladen.

Schritt 5: IAM Richtlinien erstellen

In diesem Schritt erstellen Sie zwei IAMRichtlinien. Eine Richtlinie gewährt AWS Mainframe Modernization die Erlaubnis, auf das Docker-Image zuzugreifen und es zu verwenden, das die Micro Focus-Build-Tools enthält. Diese Richtlinie ist nicht auf Kunden zugeschnitten. Die andere Richtlinie gewährt AWS Mainframe Modernization die Erlaubnis, mit den Eingabe- und Ausgabe-Buckets sowie mit den generierten CloudWatch Amazon-Protokollen zu interagieren. CodeBuild

Weitere Informationen zum Erstellen einer IAM Richtlinie finden Sie im IAMBenutzerhandbuch unter IAMRichtlinien bearbeiten.

So erstellen Sie eine Richtlinie für den Zugriff auf Docker-Images
  1. Kopieren Sie in der IAM Konsole das folgende Richtliniendokument und fügen Sie es in den Richtlinien-Editor ein.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:*:673918848628:repository/m2-enterprise-build-tools" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::aws-m2-repo-*-<region>-prod" } ] }
  2. Geben Sie einen Namen für die Richtlinie ein, m2CodeBuildPolicy z. B.

Um eine Richtlinie zu erstellen, die es AWS Mainframe Modernization ermöglicht, mit Buckets und Logs zu interagieren
  1. Kopieren Sie in der IAM Konsole das folgende Richtliniendokument und fügen Sie es in den Richtlinien-Editor ein. Stellen Sie sicher, dass Sie regionId auf das AWS-Region und accountId auf Ihr aktualisieren AWS-Konto.

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:regionId:accountId:log-group:/aws/codebuild/codebuild-bankdemo-project", "arn:aws:logs:regionId:accountId:log-group:/aws/codebuild/codebuild-bankdemo-project:*" ], "Effect": "Allow" }, { "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:List*" ], "Resource": [ "arn:aws:s3:::codebuild-regionId-accountId-input-bucket", "arn:aws:s3:::codebuild-regionId-accountId-input-bucket/*", "arn:aws:s3:::codebuild-regionId-accountId-output-bucket", "arn:aws:s3:::codebuild-regionId-accountId-output-bucket/*" ], "Effect": "Allow" } ] }
  2. Geben Sie einen Namen für die Richtlinie ein, zum BeispielBankdemoCodeBuildRolePolicy.

Schritt 6: Erstellen Sie eine IAM Rolle

In diesem Schritt erstellen Sie eine neue IAMRolle, mit der Sie für Sie mit AWS Ressourcen interagieren können CodeBuild , nachdem Sie die zuvor erstellten IAM Richtlinien mit dieser neuen IAM Rolle verknüpft haben.

Informationen zum Erstellen einer Servicerolle finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Dienst im IAMBenutzerhandbuch.

  1. Melden Sie sich bei der IAM Konsole an und wählen Sie im linken Navigationsbereich Rollen aus.

  2. Wählen Sie Rolle erstellen.

  3. Wählen Sie unter Vertrauenswürdiger Entitätstyp die Option AWSDienst aus.

  4. Wählen Sie unter Anwendungsfälle für andere AWS Dienste die Option aus CodeBuild, und wählen Sie dann CodeBuilderneut aus.

  5. Wählen Sie Weiter.

  6. Wählen Sie auf der Seite Add permissions (Berechtigungen hinzufügen) die Option Next (Weiter) aus. Sie weisen der Rolle später eine Richtlinie zu.

  7. Geben Sie unter Rollendetails einen Namen für die Rolle ein, BankdemoCodeBuildServiceRole z. B.

  8. Stellen Sie unter Vertrauenswürdige Entitäten auswählen sicher, dass das Richtliniendokument wie folgt aussieht:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  9. Wählen Sie Rolle erstellen.

Schritt 7: Hängen Sie die IAM Richtlinien an die IAM Rolle an

In diesem Schritt fügen Sie die beiden IAM Richtlinien, die Sie zuvor erstellt haben, der BankdemoCodeBuildServiceRole IAM Rolle hinzu.

  1. Melden Sie sich bei der IAM Konsole an und wählen Sie im linken Navigationsbereich Rollen aus.

  2. Wählen Sie unter Rollen die Rolle aus, die Sie zuvor erstellt haben, BankdemoCodeBuildServiceRole z. B.

  3. Wählen Sie unter Berechtigungsrichtlinien die Option Berechtigungen hinzufügen und dann Richtlinien anhängen aus.

  4. Wählen Sie unter Andere Berechtigungsrichtlinien die Richtlinien aus, die Sie zuvor erstellt haben, z. B. m2CodeBuildPolicy undBankdemoCodeBuildRolePolicy.

  5. Wählen Sie Richtlinien anfügen.

Schritt 8: Erstellen Sie das CodeBuild Projekt

In diesem Schritt erstellen Sie das CodeBuild Projekt.

  1. Melden Sie sich bei der CodeBuild Konsole an und wählen Sie Build-Projekt erstellen.

  2. Geben Sie im Abschnitt Projektkonfiguration einen Namen für das Projekt ein, codebuild-bankdemo-project z. B.

  3. Wählen Sie im Abschnitt Quelle für Quellanbieter Amazon S3 und dann den Eingabe-Bucket aus, den Sie zuvor erstellt haben, codebuild-regionId-accountId-input-bucket z. B.

  4. Geben Sie im Feld S3-Objektschlüssel oder S3-Ordner den Namen der ZIP-Datei ein, die Sie in den S3-Bucket hochgeladen haben. In diesem Fall lautet der Dateinamebankdemo.zip.

  5. Wählen Sie im Bereich Umgebung die Option Benutzerdefiniertes Bild aus.

  6. Wählen Sie im Feld Umgebungstyp die Option Linux aus.

  7. Wählen Sie unter Image-Registrierung die Option Andere Registrierung aus.

  8. Im URL Feld Externe Registrierung

    • Für Micro Focus v9: Geben Sie ein673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1. Wenn Sie eine andere AWS Region mit Micro Focus v9 verwenden, können Sie auch angeben 673918848628.dkr.ecr.<m2-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1, <m2-region>in welcher AWS Region der AWS Mainframe-Modernisierungsservice verfügbar ist (z. B.). eu-west-3

    • Für Micro Focus v8: Geben Sie ein 673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1

    • Für Micro Focus v7: Geben Sie ein 673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10

  9. Wählen Sie unter Servicerolle die Option Bestehende Servicerolle aus und wählen Sie im ARN Feld Rolle die Servicerolle aus, die Sie zuvor erstellt haben, BankdemoCodeBuildServiceRole z. B.

  10. Wählen Sie im Abschnitt Buildspec die Option Buildspec-Datei verwenden aus.

  11. Wählen Sie im Abschnitt Artifacts unter Type Amazon S3 und dann Ihren Output-Bucket aus, zum Beispielcodebuild-regionId-accountId-output-bucket.

  12. Geben Sie im Feld Name den Namen eines Ordners im Bucket ein, der die Build-Ausgabeartefakte enthalten soll, bankdemo-output.zip z. B.

  13. Wählen Sie unter Verpackung von Artefakten die Option Zip aus.

  14. Wählen Sie Create build project (Build-Projekt erstellen) aus.

Schritt 9: Starten Sie den Build

In diesem Schritt starten Sie den Build.

  1. Loggen Sie sich in die CodeBuild Konsole ein.

  2. Wählen Sie im linken Navigationsbereich die Option Projekte erstellen aus.

  3. Wählen Sie das Build-Projekt aus, das Sie zuvor erstellt haben, codebuild-bankdemo-project z. B.

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

Mit diesem Befehl wird der Build gestartet. Der Build wird asynchron ausgeführt. Die Ausgabe des Befehls ist aJSON, die das Attribut id enthält. Diese Attribut-ID ist ein Verweis auf die CodeBuild Build-ID des Builds, den Sie gerade gestartet haben. Sie können den Status des Builds in der CodeBuild Konsole einsehen. Sie können auch detaillierte Protokolle zur Build-Ausführung in der Konsole einsehen. Weitere Informationen finden Sie im AWS CodeBuild Benutzerhandbuch unter Anzeigen detaillierter Build-Informationen.

Wenn die aktuelle Phase abgeschlossen istCOMPLETED, bedeutet dies, dass Ihr Build erfolgreich abgeschlossen wurde und Ihre kompilierten Artefakte auf Amazon S3 bereit sind.

Schritt 10: Laden Sie die Ausgabeartefakte herunter

In diesem Schritt laden Sie die Ausgabeartefakte von Amazon S3 herunter. Das Micro Focus Build Tool kann verschiedene Typen von ausführbaren Dateien erstellen. In diesem Tutorial generiert es gemeinsam genutzte Objekte.

  1. Melden Sie sich bei der Amazon S3 S3-Konsole an.

  2. Wählen Sie im Abschnitt Buckets role="bold"> den Namen Ihres Ausgabe-Buckets aus, zum Beispiel. codebuild-regionId-accountId-output-bucket

  3. Wählen Sie „Herunterladen“ role="bold">.

  4. Entpacken Sie die heruntergeladene -Datei. Navigieren Sie zum Zielordner, um die Build-Artefakte zu sehen. Dazu gehören die gemeinsam genutzten .so Linux-Objekte.

Bereinigen von -Ressourcen

Wenn Sie die Ressourcen, die Sie für dieses Tutorial erstellt haben, nicht mehr benötigen, löschen Sie sie, um zusätzliche Kosten zu vermeiden. Führen Sie dazu die folgenden Schritte aus: