

AWS Le service de modernisation du mainframe (expérience de l'environnement d'exécution géré) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires au service de modernisation AWS du mainframe (expérience de l'environnement d'exécution géré), explorez le service de modernisation AWS du mainframe (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez la section [Modification de la disponibilité de la modernisation du AWS mainframe](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

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 Rocket Software (anciennement Micro Focus) pour l' BankDemo exemple d'application
<a name="tutorial-build-mf"></a>

AWS La modernisation du mainframe vous permet de configurer des builds et des pipelines de integration/continuous livraison continue (CI/CD) pour vos applications migrées. Ces builds et pipelines utilisent AWS CodeBuild AWS CodeCommit, et AWS CodePipeline pour fournir ces fonctionnalités. 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) pour mainframe](https://aws.amazon.com/migration-acceleration-program/mainframe/) ou de contacter [des spécialistes du AWS mainframe](mailto: mainframe@amazon.com) pour connaître les étapes nécessaires à la modernisation d'une application mainframe.

**Topics**
+ [Conditions préalables](#tutorial-build-mf-prerequisites)
+ [Étape 1 : Partagez les actifs de construction avec le AWS compte](#tutorial-build-mf-assets)
+ [Étape 2 : créer des compartiments Amazon S3](#tutorial-build-mf-s3)
+ [Étape 3 : Création du fichier de spécifications de construction](#tutorial-build-mf-spec)
+ [Étape 4 : télécharger les fichiers sources](#tutorial-build-mf-upload)
+ [Étape 5 : créer des politiques IAM](#tutorial-build-mf-IAM-policy)
+ [Étape 6 : Création d'un rôle IAM](#tutorial-build-mf-IAM-role)
+ [Étape 7 : associer les politiques IAM au rôle IAM](#tutorial-build-mf-attach)
+ [Étape 8 : Création du CodeBuild projet](#tutorial-build-mf-create-project)
+ [Étape 9 : démarrer la construction](#tutorial-build-mf-start)
+ [Étape 10 : Télécharger les artefacts de sortie](#tutorial-build-mf-download-output)
+ [nettoyer des ressources ;](#tutorial-build-mf-clean)

## Conditions préalables
<a name="tutorial-build-mf-prerequisites"></a>

Avant de commencer ce didacticiel, remplissez les conditions préalables suivantes.
+ Téléchargez l'[BankDemo exemple d'application](https://d3lkpej5ajcpac.cloudfront.net/demo/mf/BANKDEMO-build.zip) et décompressez-le dans un dossier. Le dossier source contient les programmes COBOL et les copybooks, ainsi que les définitions. Il contient également un dossier JCL à titre de référence, bien que vous n'ayez pas besoin de compiler JCL. 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 compte AWS**.

## Étape 1 : Partagez les actifs de construction avec le AWS compte
<a name="tutorial-build-mf-assets"></a>

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/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/)l'adresse.

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

1. 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
<a name="tutorial-build-mf-s3"></a>

Au cours de cette étape, vous allez créer 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) 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**.

1. 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 exemple`codebuild-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 bucket dans un pays différent Région AWS de celui de l'est des États-Unis (Virginie du Nord), spécifiez le `LocationConstraint` paramètre. Pour plus d'informations, consultez [Create Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) dans le manuel *Amazon Simple Storage Service API Reference*.

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

1. Répétez les étapes 1 à 3 pour créer le compartiment de sortie. Par exemple`codebuild-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
<a name="tutorial-build-mf-spec"></a>

Au cours de cette étape, vous créez un fichier de spécifications de construction,. Ce fichier fournit les commandes de construction et les paramètres associés, au format YAML, 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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) 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.

1. 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/**
   ```

   Voici`CODEBUILD_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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

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

   ```
   (root directory name)
       |-- build.xml
       |-- buildspec.yml
       |-- LICENSE.txt
       |-- source
            |... etc.
   ```

1. 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 fichier`BankDemo.zip`.

## Étape 4 : télécharger les fichiers sources
<a name="tutorial-build-mf-upload"></a>

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.

1. Sous **Objets**, choisissez **Charger**.

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

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

1. Choisissez **Charger**.

## Étape 5 : créer des politiques IAM
<a name="tutorial-build-mf-IAM-policy"></a>

Au cours de cette étape, vous allez créer deux [politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Une politique autorise AWS Mainframe Modernization à accéder à l'image Docker qui contient les outils de compilation de Rocket Software 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) qui CodeBuild en sont générés.

Pour en savoir plus sur la création d'une stratégie IAM, consultez la section [Modification des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le Guide de l'utilisateur *IAM*.

**Pour créer une politique d'accès aux images Docker**

1. Dans la console IAM, copiez le document de stratégie suivant et collez-le dans l'éditeur de stratégie.

------
#### [ JSON ]

****  

   ```
   {
       "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"
           }
       ]
   }
   ```

------

1. 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 console IAM, 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.

1. Donnez un nom à la politique, par exemple,`BankdemoCodeBuildRolePolicy`.

## Étape 6 : Création d'un rôle IAM
<a name="tutorial-build-mf-IAM-role"></a>

Au cours de cette étape, vous créez un nouveau [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qui permet d'interagir avec les AWS ressources CodeBuild à votre place, après avoir associé les politiques IAM que vous avez créées précédemment à ce nouveau rôle IAM.

Pour plus d'informations sur la création d'un rôle de service, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *guide de l'utilisateur IAM*,.

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

1. Choisissez **Créer un rôle**.

1. Sous **Type d'entité fiable**, choisissez le **service AWS**.

1. Sous **Cas d'utilisation pour d'autres services AWS **CodeBuild****, choisissez, puis choisissez **CodeBuild**à nouveau.

1. Choisissez **Suivant**.

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

1. Sous **Détails du rôle**, saisissez un nom pour le rôle, par exemple,`BankdemoCodeBuildServiceRole`.

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

------
#### [ JSON ]

****  

   ```
   {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Principal": {
                   "Service": "codebuild.amazonaws.com"
                 },
                 "Action": "sts:AssumeRole"
               }
             ]
           }
   ```

------

1. Choisissez **Créer un rôle**.

## Étape 7 : associer les politiques IAM au rôle IAM
<a name="tutorial-build-mf-attach"></a>

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

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

1. Dans **Rôles**, choisissez le rôle que vous avez créé précédemment, par exemple`BankdemoCodeBuildServiceRole`.

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

1. Dans **Autres politiques d'autorisation**, choisissez les politiques que vous avez créées précédemment, par exemple, `m2CodeBuildPolicy` et`BankdemoCodeBuildRolePolicy`.

1. Choisissez **Attacher des politiques**.

## Étape 8 : Création du CodeBuild projet
<a name="tutorial-build-mf-create-project"></a>

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

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

1. Dans la section **Configuration du projet**, saisissez un nom pour le projet, par exemple,`codebuild-bankdemo-project`.

1. 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`.

1. 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 est`bankdemo.zip`.

1. Dans la section **Environnement**, choisissez **Image personnalisée**.

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

1. Sous **Registre d'images**, choisissez **Autre registre**.

1. Dans le champ **URL du registre externe**, 
   + Pour Rocket Software v9 : Entrez`673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`. Si vous utilisez une autre AWS région avec Rocket Software 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 Rocket Software v8 : Enter `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1`
   + Pour Rocket Software v7 : Enter `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10`

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

1. Dans la section **Buildspec**, choisissez **Utiliser un** fichier buildspec.

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

1. 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 exemple`bankdemo-output.zip`.

1. Sous **Emballage des artefacts**, sélectionnez **Zip**.

1. Choisissez **Créer un projet de génération**.

## Étape 9 : démarrer la construction
<a name="tutorial-build-mf-start"></a>

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

1. Connectez-vous à la CodeBuild console.

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

1. Choisissez le projet de construction que vous avez créé précédemment, par exemple`codebuild-bankdemo-project`.

1. 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 fichier 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](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started-build-log-console.html) dans le *guide de AWS CodeBuild l'utilisateur*.

Lorsque la phase en cours est TERMINÉE, 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
<a name="tutorial-build-mf-download-output"></a>

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

1. Connectez-vous à la console Amazon S3.

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

1. Choisissez **Download** role="bold">.

1. 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.

## nettoyer des ressources ;
<a name="tutorial-build-mf-clean"></a>

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 :
+ Supprimez les compartiments S3 que vous avez créés pour ce didacticiel. Pour plus d'informations, consultez [Supprimer un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.
+ Supprimez les politiques IAM que vous avez créées pour ce didacticiel. Pour plus d'informations, consultez [la section Suppression des politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) dans le guide de l'*utilisateur IAM*.
+ Supprimez le rôle IAM que vous avez créé pour ce didacticiel. Pour plus d'informations, consultez [Suppression de rôles ou de profils d'instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dans le *guide de l'utilisateur IAM*.
+ Supprimez le CodeBuild projet que vous avez créé pour ce didacticiel. Pour plus d'informations, voir [Supprimer un projet de construction CodeBuild dans](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) le *guide de AWS CodeBuild l'utilisateur*.