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
Themen
- Voraussetzungen
- Schritt 1: Teilen Sie die Build-Assets mit AWS Ihrem Konto
- Schritt 2: Amazon S3 S3-Buckets erstellen
- Schritt 3: Erstellen Sie die Build-Spezifikationsdatei
- Schritt 4: Laden Sie die Quelldateien hoch
- Schritt 5: IAM Richtlinien erstellen
- Schritt 6: Erstellen Sie eine IAM Rolle
- Schritt 7: Hängen Sie die IAM Richtlinien an die IAM Rolle an
- Schritt 8: Erstellen Sie das CodeBuild Projekt
- Schritt 9: Starten Sie den Build
- Schritt 10: Laden Sie die Ausgabeartefakte herunter
- Bereinigen von -Ressourcen
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.
-
Öffnen Sie die AWS Mainframe Modernization Console unter https://console.aws.amazon.com/m2/
. -
Wählen Sie in der linken Navigationsleiste Tools aus.
-
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.
-
Um den Eingabe-Bucket zu erstellen, melden Sie sich bei der Amazon S3 S3-Konsole an und wählen Sie Create Bucket.
-
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
WhereregionId
is the AWS-Region of the Bucket undaccountId
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. -
Behalten Sie alle anderen Einstellungen bei und wählen Sie Create Bucket.
-
Wiederholen Sie die Schritte 1—3, um den Ausgabe-Bucket zu erstellen. Ein Beispiel für den Namen ist
codebuild-regionId-accountId-output-bucket
whereregionId
is the AWS-Region of the Bucket undaccountId
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.
-
Erstellen Sie als Voraussetzung eine Datei mit dem Namen
buildspec.yml
in dem Verzeichnis, das Sie entpackt haben. -
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 UmgebungsvariablenCODEBUILD_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.
-
Komprimieren Sie den Inhalt des Ordners in eine Datei mit dem Namen
BankDemo.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.
-
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.
-
Wählen Sie unter Objekte die Option Hochladen aus.
-
Wählen Sie im Bereich Dateien und Ordner die Option Dateien hinzufügen aus.
-
Navigieren Sie zu Ihrer
BankDemo.zip
Datei und wählen Sie sie aus. -
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
-
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" } ] }
-
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
-
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 undaccountId
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" } ] } -
Geben Sie einen Namen für die Richtlinie ein, zum Beispiel
BankdemoCodeBuildRolePolicy
.
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.
-
Melden Sie sich bei der IAM Konsole an und wählen Sie im linken Navigationsbereich Rollen aus.
-
Wählen Sie Rolle erstellen.
-
Wählen Sie unter Vertrauenswürdiger Entitätstyp die Option AWSDienst aus.
-
Wählen Sie unter Anwendungsfälle für andere AWS Dienste die Option aus CodeBuild, und wählen Sie dann CodeBuilderneut aus.
-
Wählen Sie Weiter.
-
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.
-
Geben Sie unter Rollendetails einen Namen für die Rolle ein,
BankdemoCodeBuildServiceRole
z. B. -
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" } ] }
-
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.
-
Melden Sie sich bei der IAM Konsole an und wählen Sie im linken Navigationsbereich Rollen aus.
-
Wählen Sie unter Rollen die Rolle aus, die Sie zuvor erstellt haben,
BankdemoCodeBuildServiceRole
z. B. -
Wählen Sie unter Berechtigungsrichtlinien die Option Berechtigungen hinzufügen und dann Richtlinien anhängen aus.
-
Wählen Sie unter Andere Berechtigungsrichtlinien die Richtlinien aus, die Sie zuvor erstellt haben, z. B.
m2CodeBuildPolicy
undBankdemoCodeBuildRolePolicy
. -
Wählen Sie Richtlinien anfügen.
Schritt 8: Erstellen Sie das CodeBuild Projekt
In diesem Schritt erstellen Sie das CodeBuild Projekt.
-
Melden Sie sich bei der CodeBuild Konsole an und wählen Sie Build-Projekt erstellen.
-
Geben Sie im Abschnitt Projektkonfiguration einen Namen für das Projekt ein,
codebuild-bankdemo-project
z. B. -
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. -
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 Dateiname
bankdemo.zip
. -
Wählen Sie im Bereich Umgebung die Option Benutzerdefiniertes Bild aus.
-
Wählen Sie im Feld Umgebungstyp die Option Linux aus.
-
Wählen Sie unter Image-Registrierung die Option Andere Registrierung aus.
-
Im URL Feld Externe Registrierung
-
Für Micro Focus v9: Geben Sie ein
673918848628.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 angeben673918848628.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
-
-
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. -
Wählen Sie im Abschnitt Buildspec die Option Buildspec-Datei verwenden aus.
-
Wählen Sie im Abschnitt Artifacts unter Type Amazon S3 und dann Ihren Output-Bucket aus, zum Beispiel
codebuild-regionId-accountId-output-bucket
. -
Geben Sie im Feld Name den Namen eines Ordners im Bucket ein, der die Build-Ausgabeartefakte enthalten soll,
bankdemo-output.zip
z. B. -
Wählen Sie unter Verpackung von Artefakten die Option Zip aus.
-
Wählen Sie Create build project (Build-Projekt erstellen) aus.
Schritt 9: Starten Sie den Build
In diesem Schritt starten Sie den Build.
-
Loggen Sie sich in die CodeBuild Konsole ein.
-
Wählen Sie im linken Navigationsbereich die Option Projekte erstellen aus.
-
Wählen Sie das Build-Projekt aus, das Sie zuvor erstellt haben,
codebuild-bankdemo-project
z. B. -
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.
-
Melden Sie sich bei der Amazon S3 S3-Konsole an.
-
Wählen Sie im Abschnitt Buckets role="bold"> den Namen Ihres Ausgabe-Buckets aus, zum Beispiel.
codebuild-regionId-accountId-output-bucket
-
Wählen Sie „Herunterladen“ role="bold">.
-
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:
-
Löschen Sie die S3-Buckets, die Sie für dieses Tutorial erstellt haben. Weitere Informationen finden Sie unter Löschen eines Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
-
Löschen Sie die IAM Richtlinien, die Sie für dieses Tutorial erstellt haben. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Löschen von IAM Richtlinien.
-
Löschen Sie die IAM Rolle, die Sie für dieses Tutorial erstellt haben. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Löschen von Rollen oder Instanzprofilen.
-
Löschen Sie das CodeBuild Projekt, das Sie für dieses Tutorial erstellt haben. Weitere Informationen finden Sie CodeBuildim AWS CodeBuild Benutzerhandbuch unter Löschen eines Build-Projekts.