Tutoriel : Configuration de la version Micro Focus pour l' BankDemo exemple d'application - AWS Modernisation du mainframe

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : Configuration de la version Micro Focus pour l' BankDemo exemple d'application

AWS La modernisation du mainframe vous permet de configurer des builds et des pipelines d'intégration continue/de livraison continue (CI/CD) pour vos applications migrées. Ces builds et pipelines utilisent AWS CodeBuild et AWS CodePipeline fournissent ces fonctionnalités. AWS CodeCommit CodeBuild est un service de génération entièrement géré qui compile votre code source, exécute des tests unitaires et produit des artefacts prêts à être déployés. CodeCommit est un service de contrôle de version qui vous permet de stocker et de gérer de manière privée des référentiels Git dans le cloud. AWS CodePipeline est un service de livraison continue qui vous permet de modéliser, de visualiser et d'automatiser les étapes nécessaires à la publication de votre logiciel.

Ce didacticiel explique AWS CodeBuild comment compiler l' BankDemo exemple de code source de l'application à partir d'Amazon S3, puis exporter le code compilé vers Amazon S3.

AWS CodeBuild est un service d'intégration continue entièrement géré qui compile le code source, exécute des tests et produit des packages logiciels prêts à être déployés. Vous pouvez utiliser des CodeBuild environnements de génération préemballés ou créer des environnements de génération personnalisés utilisant vos propres outils de génération. Ce scénario de démonstration utilise la deuxième option. Il s'agit d'un environnement de CodeBuild construction qui utilise une image Docker préemballée.

Important

Avant de démarrer votre projet de modernisation du mainframe, nous vous recommandons de vous renseigner sur le AWS Migration Acceleration Program (MAP) for Mainframe ou de contacter des spécialistes du AWS mainframe pour connaître les étapes nécessaires à la modernisation d'une application mainframe.

Prérequis

Avant de commencer ce didacticiel, remplissez les conditions préalables suivantes.

  • Téléchargez l'BankDemo exemple d'application et décompressez-le dans un dossier. Le dossier source contient des COBOL programmes, des copybooks et des définitions. Il contient également un JCL dossier de référence, bien que vous n'ayez pas besoin de le compilerJCL. Le dossier contient également les méta-fichiers nécessaires à la compilation.

  • Dans la console AWS Mainframe Modernization, sélectionnez Tools. Dans Analyse, développement et création d'actifs, choisissez Partager des actifs avec mon AWS compte.

Étape 1 : Partagez les actifs de construction avec le AWS compte

Au cours de cette étape, vous vous assurez de partager les actifs de construction avec votre AWS compte, en particulier dans la région où les actifs sont utilisés.

  1. Ouvrez la console de modernisation du AWS mainframe à https://console.aws.amazon.com/m2/l'adresse.

  2. Dans le volet de navigation de gauche, sélectionnez Outils.

  3. Dans Analyse, développement et création d'actifs, choisissez Partager des actifs avec mon AWS compte.

Important

Vous devez effectuer cette étape une fois dans chaque AWS région où vous avez l'intention d'effectuer des builds.

Étape 2 : créer des compartiments Amazon S3

Au cours de cette étape, vous créez deux compartiments Amazon S3. Le premier est un compartiment d'entrée pour contenir le code source, et l'autre est un compartiment de sortie pour contenir la sortie de compilation. Pour plus d'informations, consultez la section Création, configuration et utilisation des compartiments Amazon S3 dans le guide de l'utilisateur Amazon S3.

  1. Pour créer le compartiment d'entrée, connectez-vous à la console Amazon S3 et choisissez Create bucket.

  2. Dans Configuration générale, donnez un nom au compartiment et spécifiez l' Région AWS endroit où vous souhaitez le créer. Par exemplecodebuild-regionId-accountId-input-bucket, le nom est « où se regionId trouve le Région AWS compartiment » et « où accountId est votre Compte AWS identifiant ».

    Note

    Si vous créez le compartiment dans un autre pays que l'est Région AWS des États-Unis (Virginie du Nord), spécifiez le LocationConstraint paramètre. Pour plus d'informations, consultez Create Bucket dans le manuel Amazon Simple Storage Service API Reference.

  3. Conservez tous les autres paramètres et choisissez Create bucket.

  4. Répétez les étapes 1 à 3 pour créer le compartiment de sortie. Par exemplecodebuild-regionId-accountId-output-bucket, le nom est « où se regionId trouve le Région AWS compartiment » et « où accountId est votre Compte AWS identifiant ».

    Quels que soient les noms que vous choisissez pour ces compartiments, veillez à les utiliser tout au long de ce didacticiel.

Étape 3 : Création du fichier de spécifications de construction

Au cours de cette étape, vous créez un fichier de spécifications de construction,. Ce fichier fournit les commandes de compilation et les paramètres associés, sous YAML forme de format, CodeBuild pour exécuter la génération. Pour plus d'informations, reportez-vous à la section Référence des spécifications de construction CodeBuild dans le Guide de AWS CodeBuild l'utilisateur.

  1. Créez un fichier nommé buildspec.yml dans le répertoire que vous avez décompressé comme condition préalable.

  2. Ajoutez le contenu suivant au fichier et enregistrez-le. Aucune modification n'est requise pour ce fichier.

    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/**

    VoiciCODEBUILD_BUILD_ID, CODEBUILD_BUILD_ARN$CODEBUILD_SRC_DIR/source, et $CODEBUILD_SRC_DIR/target les variables d'environnement sont-elles disponibles dans CodeBuild. Pour plus d'informations, consultez la section Variables d'environnement dans les environnements de génération.

    À ce stade, votre répertoire devrait ressembler à ceci.

    (root directory name) |-- build.xml |-- buildspec.yml |-- LICENSE.txt |-- source |... etc.
  3. Compressez le contenu du dossier dans un fichier nomméBankDemo.zip.. Pour ce didacticiel, vous ne pouvez pas compresser le dossier. Compressez plutôt le contenu du dossier dans le fichierBankDemo.zip.

Étape 4 : télécharger les fichiers sources

Au cours de cette étape, vous chargez le code source de l' BankDemo exemple d'application dans votre compartiment d'entrée Amazon S3.

  1. Connectez-vous à la console Amazon S3 et choisissez Buckets dans le volet de navigation de gauche. Choisissez ensuite le compartiment d'entrée que vous avez créé précédemment.

  2. Sous Objets, choisissez Charger.

  3. Dans la section Fichiers et dossiers, choisissez Ajouter des fichiers.

  4. Accédez à votre BankDemo.zip fichier et sélectionnez-le.

  5. Sélectionnez Charger.

Étape 5 : créer des IAM politiques

Au cours de cette étape, vous allez créer deux IAMpolitiques. Une politique autorise AWS Mainframe Modernization à accéder à l'image Docker qui contient les outils de génération Micro Focus et à l'utiliser. Cette politique n'est pas personnalisée pour les clients. L'autre politique autorise AWS Mainframe Modernization à interagir avec les compartiments d'entrée et de sortie, ainsi qu'avec les CloudWatch journaux Amazon qui CodeBuild en sont générés.

Pour en savoir plus sur la création d'une IAM politique, consultez la section Modification IAM des politiques dans le Guide de IAM l'utilisateur.

Pour créer une politique d'accès aux images Docker
  1. Dans la IAM console, copiez le document de stratégie suivant et collez-le dans l'éditeur de stratégie.

    { "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. Donnez un nom à la politique, par exemple,m2CodeBuildPolicy.

Pour créer une politique permettant à la modernisation du AWS mainframe d'interagir avec les buckets et les journaux
  1. Dans la IAM console, copiez le document de stratégie suivant et collez-le dans l'éditeur de stratégie. Assurez-vous de mettre regionId à jour le Région AWS, et accountId votre Compte AWS.

    { "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. Donnez un nom à la politique, par exemple,BankdemoCodeBuildRolePolicy.

Étape 6 : Création d'un IAM rôle

Dans cette étape, vous créez un nouveau IAMrôle qui permet d'interagir avec les AWS ressources CodeBuild à votre place, après avoir associé les IAM politiques que vous avez créées précédemment à ce nouveau IAM rôle.

Pour plus d'informations sur la création d'un rôle de service, voir Création d'un rôle pour déléguer des autorisations à un AWS service dans le Guide de IAM l'utilisateur,.

  1. Connectez-vous à la IAM console et choisissez Rôles dans le volet de navigation de gauche.

  2. Sélectionnez Créer un rôle.

  3. Sous Type d'entité de confiance, sélectionnez AWSservice.

  4. Sous Cas d'utilisation pour d'autres AWS services CodeBuild, choisissez, puis sélectionnez CodeBuildà nouveau.

  5. Choisissez Suivant.

  6. Sur la page Add permissions (Ajouter des autorisations), sélectionnez Next (Suivant). Vous attribuez une politique au rôle ultérieurement.

  7. Sous Détails du rôle, saisissez le nom du rôle, par exemple,BankdemoCodeBuildServiceRole.

  8. Sous Sélectionner les entités fiables, vérifiez que le document de politique ressemble à ce qui suit :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  9. Sélectionnez Créer un rôle.

Étape 7 : associer les IAM politiques au IAM rôle

Au cours de cette étape, vous devez associer les deux IAM politiques que vous avez créées précédemment au BankdemoCodeBuildServiceRole IAM rôle.

  1. Connectez-vous à la IAM console et choisissez Rôles dans le volet de navigation de gauche.

  2. Dans Rôles, choisissez le rôle que vous avez créé précédemment, par exempleBankdemoCodeBuildServiceRole.

  3. Dans Politiques d'autorisations, choisissez Ajouter des autorisations, puis Joindre des politiques.

  4. Dans Autres politiques d'autorisation, choisissez les politiques que vous avez créées précédemment, par exemple, m2CodeBuildPolicy etBankdemoCodeBuildRolePolicy.

  5. Choisissez Attach Policies (Attacher des politiques).

Étape 8 : Création du CodeBuild projet

Au cours de cette étape, vous créez le CodeBuild projet.

  1. Connectez-vous à la CodeBuild console et choisissez Create build project.

  2. Dans la section Configuration du projet, donnez un nom au projet, par exemple,codebuild-bankdemo-project.

  3. Dans la section Source, pour Source provider, choisissez Amazon S3, puis choisissez le bucket d'entrée que vous avez créé précédemment, par exemple,codebuild-regionId-accountId-input-bucket.

  4. Dans le champ Clé d'objet S3 ou dossier S3, entrez le nom du fichier zip que vous avez chargé dans le compartiment S3. Dans ce cas, le nom du fichier estbankdemo.zip.

  5. Dans la section Environnement, choisissez Image personnalisée.

  6. Dans le champ Type d'environnement, sélectionnez Linux.

  7. Sous Registre d'images, choisissez Autre registre.

  8. Dans le URL champ Registre externe,

    • Pour Micro Focus v9 : Entrez673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1. Si vous utilisez une autre AWS région avec Micro Focus v9, vous pouvez également spécifier 673918848628.dkr.ecr.<m2-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1 où se <m2-region>trouve une AWS région dans laquelle le service de modernisation du AWS mainframe est disponible (par exemple,eu-west-3).

    • Pour Micro Focus v8 : Entrez 673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1

    • Pour Micro Focus v7 : Entrez 673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10

  9. Sous Rôle de service, choisissez Rôle de service existant, puis dans le ARN champ Rôle, choisissez le rôle de service que vous avez créé précédemment, par exemple,BankdemoCodeBuildServiceRole.

  10. Dans la section Buildspec, choisissez Utiliser un fichier buildspec.

  11. Dans la section Artifacts, sous Type, choisissez Amazon S3, puis choisissez votre compartiment de sortie, par exemple,codebuild-regionId-accountId-output-bucket.

  12. Dans le champ Nom, entrez le nom d'un dossier du compartiment dans lequel vous souhaitez contenir les artefacts de sortie de génération, par exemplebankdemo-output.zip.

  13. Sous Emballage des artefacts, sélectionnez Zip.

  14. Choisissez Créer un projet de génération.

Étape 9 : démarrer la construction

Au cours de cette étape, vous lancez la construction.

  1. Connectez-vous à la CodeBuild console.

  2. Dans le volet de navigation de gauche, choisissez Créer des projets.

  3. Choisissez le projet de construction que vous avez créé précédemment, par exemplecodebuild-bankdemo-project.

  4. Choisissez Démarrer la génération.

Cette commande lance le build. La compilation s'exécute de manière asynchrone. La sortie de la commande est un JSON qui inclut l'identifiant de l'attribut. Cet attribut id est une référence à l'identifiant de CodeBuild construction de la construction que vous venez de démarrer. Vous pouvez consulter l'état du build dans la CodeBuild console. Vous pouvez également consulter les journaux détaillés de l'exécution de la compilation dans la console. Pour plus d'informations, voir Afficher les informations de construction détaillées dans le guide de AWS CodeBuild l'utilisateur.

Lorsque la phase est en coursCOMPLETED, cela signifie que votre compilation s'est terminée avec succès et que vos artefacts compilés sont prêts sur Amazon S3.

Étape 10 : Télécharger les artefacts de sortie

Au cours de cette étape, vous téléchargez les artefacts de sortie depuis Amazon S3. L'outil de génération Micro Focus peut créer différents types d'exécutables. Dans ce didacticiel, il génère des objets partagés.

  1. Connectez-vous à la console Amazon S3.

  2. Dans la section Buckets role="bold">, choisissez le nom de votre bucket de sortie, par exemple,. codebuild-regionId-accountId-output-bucket

  3. Choisissez Download role="bold">.

  4. Décompressez le fichier téléchargé. Accédez au dossier cible pour voir les artefacts de construction. Il s'agit notamment des objets partagés .so Linux.

Nettoyage des ressources

Si vous n'avez plus besoin des ressources que vous avez créées pour ce didacticiel, supprimez-les pour éviter des frais supplémentaires. Pour ce faire, exécutez les étapes suivantes :