

AWS El servicio de modernización de mainframes (experiencia en entornos de ejecución gestionados) ya no está abierto a nuevos clientes. Para obtener prestaciones similares a las del Servicio de Modernización de AWS Mainframe (experiencia en entornos de ejecución gestionados), explore el Servicio de Modernización de AWS Mainframe (experiencia autogestionada). Los clientes existentes pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulte Cambio en la disponibilidad de la modernización del [AWS mainframe.](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: configuración de la versión de Rocket Software (anteriormente Micro Focus) para la aplicación de BankDemo muestra
<a name="tutorial-build-mf"></a>

AWS La modernización del mainframe le permite configurar compilaciones y canalizaciones de integration/continuous entrega continua (CI/CD) para sus aplicaciones migradas. Estas compilaciones y canalizaciones utilizan y AWS CodeBuild AWS CodePipeline proporcionan estas AWS CodeCommit capacidades. CodeBuild es un servicio de compilación totalmente gestionado que compila el código fuente, ejecuta pruebas unitarias y produce artefactos listos para su despliegue. CodeCommit es un servicio de control de versiones que te permite almacenar y gestionar de forma privada los repositorios de Git en la nube. AWS CodePipeline es un servicio de entrega continua que te permite modelar, visualizar y automatizar los pasos necesarios para lanzar tu software.

En este tutorial se muestra cómo AWS CodeBuild compilar el código fuente de la aplicación de BankDemo muestra desde Amazon S3 y, a continuación, exportar el código compilado a Amazon S3.

AWS CodeBuild es un servicio de integración continua totalmente gestionado que compila el código fuente, ejecuta pruebas y produce paquetes de software listos para su implementación. Con CodeBuild, puede usar entornos de compilación preempaquetados o puede crear entornos de compilación personalizados que usen sus propias herramientas de compilación. En esta situación de demostración se utiliza la segunda opción. Consiste en un entorno de CodeBuild compilación que utiliza una imagen de Docker preempaquetada.

**importante**  
Antes de iniciar su proyecto de modernización de unidad central, le recomendamos que conozca el [Programa de aceleración de la migración de AWS](https://aws.amazon.com/migration-acceleration-program/mainframe/) o que se ponga en contacto con [especialistas en unidades centrales de AWS](mailto: mainframe@amazon.com) para obtener información sobre los pasos necesarios para modernizar una aplicación de unidad central.

**Topics**
+ [Requisitos previos](#tutorial-build-mf-prerequisites)
+ [Paso 1: compartición de los activos de compilación con la cuenta de AWS](#tutorial-build-mf-assets)
+ [Paso 2: creación de buckets de Amazon S3](#tutorial-build-mf-s3)
+ [Paso 3: creación del archivo de especificaciones de compilación](#tutorial-build-mf-spec)
+ [Paso 4: carga de los archivos de origen](#tutorial-build-mf-upload)
+ [Paso 5: creación de políticas de IAM](#tutorial-build-mf-IAM-policy)
+ [Paso 6: creación de un rol de IAM](#tutorial-build-mf-IAM-role)
+ [Paso 7: asociación de las políticas de IAM al rol de IAM](#tutorial-build-mf-attach)
+ [Paso 8: Crea el CodeBuild proyecto](#tutorial-build-mf-create-project)
+ [Paso 9: inicio de la compilación](#tutorial-build-mf-start)
+ [Paso 10: descarga de los artefactos de salida](#tutorial-build-mf-download-output)
+ [Eliminar recursos](#tutorial-build-mf-clean)

## Requisitos previos
<a name="tutorial-build-mf-prerequisites"></a>

Antes de comenzar este tutorial, complete los siguientes requisitos previos:
+ Descarga la [aplicación de BankDemo muestra](https://d3lkpej5ajcpac.cloudfront.net/demo/mf/BANKDEMO-build.zip) y descomprímela en una carpeta. La carpeta de origen contiene programas COBOL y cuadernos, así como definiciones. También contiene una carpeta JCL como referencia, aunque no es necesario compilar JCL. La carpeta también contiene los metaarchivos necesarios para la compilación.
+ **En la consola de modernización AWS del mainframe, elija Herramientas.** En **Análisis, desarrollo y compilación de activos**, seleccione **Compartir activos con mi cuenta de AWS**.

## Paso 1: compartición de los activos de compilación con la cuenta de AWS
<a name="tutorial-build-mf-assets"></a>

En este paso, asegúrese de compartir los activos de compilación con su AWS cuenta, especialmente en la región en la que se utilizan los activos.

1. Abra la consola de modernización AWS del mainframe en [https://console.aws.amazon.com/m2/](https://us-west-2.console.aws.amazon.com/m2/home?region=us-west-2#/).

1. En el panel de navegación izquierdo, seleccione **Herramientas**.

1. En **Análisis, desarrollo y creación de activos**, seleccione **Compartir activos con mi AWS cuenta**.

**importante**  
Debes realizar este paso una vez en cada AWS región en la que vayas a realizar las compilaciones.

## Paso 2: creación de buckets de Amazon S3
<a name="tutorial-build-mf-s3"></a>

En este paso, creará dos buckets de Amazon S3. El primero es un bucket de entrada para almacenar el código fuente y el otro es un depósito de salida para almacenar la salida de la compilación. Para obtener más información, consulte [Creación, configuración y trabajo con buckets de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) en la *Guía del usuario de Amazon S3*.

1. Para crear el bucket de entrada, inicie sesión en la consola de Amazon S3 y elija **Crear bucket**.

1. En la **configuración general**, proporciona un nombre para el depósito y especifica el Región de AWS lugar en el que quieres crearlo. Un ejemplo Región de AWS de nombre `regionId` es `codebuild-regionId-accountId-input-bucket` dónde está el depósito y `accountId` es su Cuenta de AWS ID.
**nota**  
Si va a crear el depósito en un lugar diferente al Región de AWS de EE. UU. Este (Virginia del Norte), especifique el `LocationConstraint` parámetro. Para obtener más información, consulte [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) en *Amazon Simple Storage Service API Referenc*.

1. Conserve todos los demás valores y elija **Crear bucket**.

1. Repita los pasos 1 a 3 para crear el bucket de salida. Un ejemplo de nombre es `codebuild-regionId-accountId-output-bucket` dónde `regionId` está Región de AWS el depósito y `accountId` es su Cuenta de AWS ID.

   Utilice los mismos nombres que elija para los buckets en todo este tutorial.

## Paso 3: creación del archivo de especificaciones de compilación
<a name="tutorial-build-mf-spec"></a>

En este paso, creará un archivo de especificaciones de compilación. Este archivo proporciona los comandos de compilación y la configuración relacionada, en formato YAML, CodeBuild para ejecutar la compilación. Para obtener más información, consulta la [referencia sobre las especificaciones de compilación CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) en la *Guía del AWS CodeBuild usuario*.

1. Cree un archivo con el nombre `buildspec.yml` en el directorio que haya utilizado para descomprimir como se indicaba en los requisitos previos.

1. Añada el siguiente contenido al archivo y guarde. No se requieren cambios en este archivo.

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

   Aquí`CODEBUILD_BUILD_ID`, `CODEBUILD_BUILD_ARN``$CODEBUILD_SRC_DIR/source`, y `$CODEBUILD_SRC_DIR/target` están las variables de entorno disponibles en él CodeBuild. Para obtener más información, consulte [Variables de entorno en los entornos de compilación](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html).

   En este punto, la estructura de directorios debería ser similar a la siguiente.

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

1. Comprima el contenido de la carpeta en un archivo con el nombre `BankDemo.zip`. En este tutorial, no puede comprimir la carpeta. Así es que, comprima el contenido de la carpeta en un archivo con el nombre `BankDemo.zip`.

## Paso 4: carga de los archivos de origen
<a name="tutorial-build-mf-upload"></a>

En este paso, debe cargar el código fuente de la aplicación de BankDemo muestra en su bucket de entrada de Amazon S3.

1. En la consola de Amazon SNS, en el panel de navegación izquierdo, seleccione **Buckets**. A continuación, elija el bucket de entrada que ha creado anteriormente.

1. En **Objetos**, selecciona **Cargar**.

1. En la sección **Archivos y carpetas**, elija **Añadir archivos**.

1. Vaya al archivo `BankDemo.zip` y elíjalo.

1. Seleccione **Cargar**.

## Paso 5: creación de políticas de IAM
<a name="tutorial-build-mf-IAM-policy"></a>

En este paso, creará dos [políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Una política otorga permisos para que AWS Mainframe Modernization pueda acceder a la imagen de Docker que contiene las herramientas de compilación de Rocket Software y utilizarla. Esta política no está personalizada para los clientes. La otra política otorga permisos para que AWS Mainframe Modernization interactúe con los buckets de entrada y salida y con los [ CloudWatch registros de Amazon que se CodeBuild generan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html).

Para obtener más información sobre la creación de una política de IAM, consulte [Crear políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

**Para crear una política de acceso a las imágenes de Docker**

1. En la consola de IAM, copie el siguiente documento de política y péguelo en el editor de políticas.

------
#### [ 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. Escriba un nombre para la política, por ejemplo, `m2CodeBuildPolicy`.

**Crear una política que permita a la modernización del AWS mainframe interactuar con los depósitos y los registros**

1. En la consola de IAM, copie el siguiente documento de política y péguelo en el editor de políticas. Asegúrese de actualizar `regionId` a Región de AWS, y `accountId` a su. Cuenta de AWS

1. Escriba un nombre para la política, por ejemplo, `BankdemoCodeBuildRolePolicy`.

## Paso 6: creación de un rol de IAM
<a name="tutorial-build-mf-IAM-role"></a>

En este paso, creará una nueva [función de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que le CodeBuild permita interactuar con AWS los recursos, tras asociar las políticas de IAM que creó anteriormente a esta nueva función de IAM.

Para obtener información sobre la creación de un rol de servicio, consulte [Creación de un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la Guía del usuario de *IAM*,.

1. Inicie sesión en la consola de IAM; y elija **Roles** en el panel de navegación de la izquierda.

1. Elija **Crear rol**.

1. En **Tipo de entidad de confianza**, seleccione **Servicio de AWS**.

1. **En Casos de uso de otros servicios de AWS**, elija y **CodeBuild**, a continuación, **CodeBuild**vuelva a elegir.

1. Elija **Siguiente**.

1. Elija **Siguiente** en la página **Agregar permisos**. Posteriormente, asignará una política al rol.

1. En **Detalles del rol**, proporcione un nombre para el rol, por ejemplo, `BankdemoCodeBuildServiceRole`.

1. En **Seleccionar entidades de confianza**, compruebe que el documento de política tenga el siguiente aspecto:

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

****  

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

------

1. Seleccione **Crear rol**.

## Paso 7: asociación de las políticas de IAM al rol de IAM
<a name="tutorial-build-mf-attach"></a>

En este paso, asociará las políticas de IAM que ha creado antes al rol de IAM `BankdemoCodeBuildServiceRole`.

1. Inicie sesión en la consola de IAM; y elija **Roles** en el panel de navegación de la izquierda.

1. En **Roles**, elija el rol que ha creado anteriormente, por ejemplo, `BankdemoCodeBuildServiceRole`.

1. En la sección **Políticas de permisos**, elija **Agregar permisos** y, después, **Asociar políticas**.

1. En **Otras políticas de permisos**, elija las políticas que ha creado anteriormente, por ejemplo, `m2CodeBuildPolicy` y`BankdemoCodeBuildRolePolicy`.

1. Seleccione **Asociar políticas**.

## Paso 8: Crea el CodeBuild proyecto
<a name="tutorial-build-mf-create-project"></a>

En este paso, crearás el CodeBuild proyecto.

1. Inicie sesión en la CodeBuild consola y elija **Crear proyecto de compilación**.

1. En la sección **Configuración del proyecto**, proporciona un nombre para el proyecto, por ejemplo, `codebuild-bankdemo-project`.

1. En la sección **Origen**, en **Proveedor del origen**, elija **Amazon S3** y, a continuación, elija el bucket de entrada que ha creado anteriormente, por ejemplo, `codebuild-regionId-accountId-input-bucket`.

1. En el campo **Clave de objeto de S3 o carpeta de S3**, introduzca el nombre del archivo zip que ha cargado en el bucket de S3. En este caso, el nombre de archivo es `bankdemo.zip`.

1. En la sección **Entorno**, seleccione **Imagen personalizada**.

1. En el campo **Tipo de entorno**, seleccione **Linux**.

1. En **Registro de imágenes**, seleccione **Otro registro**.

1. En el campo **URL del registro externo**, 
   + Para Rocket Software v9: Introduce`673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1`. Si está utilizando una AWS región diferente con Rocket Software v9, también puede especificar ` 673918848628.dkr.ecr.<m2-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1` dónde <m2-region>hay una AWS región en la que esté disponible el servicio de modernización de AWS mainframe (por ejemplo,). `eu-west-3`
   + Para Rocket Software v8: Introduce `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1`
   + Para Rocket Software v7: Introduce `673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10`

1. En **Rol de servicio**, elija **Rol de servicio existente** y, en el campo **ARN de rol**, elija el rol de servicio que ha creado anteriormente; por ejemplo, `BankdemoCodeBuildServiceRole`.

1. En **Especificaciones de la compilación**, elija **Utilizar un archivo de especificación de compilación**.

1. En la sección **Artefactos**, en **Tipo**, elija **Amazon S3** y, a continuación, elija su bucket de salida, por ejemplo, `codebuild-regionId-accountId-output-bucket`.

1. En el campo **Nombre**, introduzca el nombre de una carpeta del bucket en la que desee que se incluyan los artefactos de salida de la compilación, por ejemplo, `bankdemo-output.zip`.

1. En **Empaquetado de artefactos**, elija **Zip**.

1. Elija **Crear el proyecto de compilación**.

## Paso 9: inicio de la compilación
<a name="tutorial-build-mf-start"></a>

En este paso, iniciará la compilación.

1. Inicie sesión en la CodeBuild consola.

1. En el panel de navegación, elija **Proyectos de compilación**.

1. Elija el proyecto de compilación que ha creado antes, por ejemplo,`codebuild-bankdemo-project`.

1. Seleccione **Iniciar la compilación**.

Este comando inicia la compilación. La compilación se ejecuta de forma asincrónica. La salida del comando es un JSON que incluye el ID del atributo. Este identificador de atributo es una referencia al identificador de CodeBuild compilación de la compilación que acabas de iniciar. Puedes ver el estado de la compilación en la CodeBuild consola. También puede ver los registros detallados sobre la ejecución de la compilación en la consola. Para obtener más información, consulte [View detailed build information](https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started-build-log-console.html) en *AWS CodeBuild User Guide*.

Cuando se complete la fase actual, significa que la compilación ha finalizado correctamente y que los artefactos compilados están listos en Amazon S3.

## Paso 10: descarga de los artefactos de salida
<a name="tutorial-build-mf-download-output"></a>

En este paso, descargará los artefactos de salida de Amazon S3. La herramienta de compilación de Rocket Software puede crear varios tipos de ejecutables diferentes. En este tutorial, generará objetos compartidos.

1. Inicie sesión en la consola de Amazon S3.

1. En la sección **Buckets** role="bold">, elija el nombre del bucket de salida, por ejemplo, `codebuild-regionId-accountId-output-bucket`.

1. Seleccione **Descargar** role="bold">.

1. Descomprima el archivo descargado. Navegue hasta la carpeta de destino para ver los artefactos de la compilación. Estos incluyen los objetos compartidos de Linux `.so`.

## Eliminar recursos
<a name="tutorial-build-mf-clean"></a>

Si ya no necesita los recursos que ha creado para este tutorial, elimínelos para evitar cargos adicionales. Para ello, complete los siguientes pasos.
+ Elimine los depósitos de S3 que ha creado para este tutorial. Para obtener más información, consulte [Eliminar un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) en la *Guía del usuario de Amazon Simple Storage Service*.
+ Elija las políticas que ha creado para este tutorial. Para obtener más información, consulte [Eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) en la *Guía del usuario de IAM*.
+ Elija el rol de IAM que ha creado para este tutorial. Para obtener más información, consulte [Eliminación de roles o perfiles de instancia](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) en la *Guía del usuario de IAM*.
+ Elimine el CodeBuild proyecto que creó para este tutorial. Para obtener más información, consulte [Eliminar un proyecto de compilación CodeBuild en](https://docs.aws.amazon.com/codebuild/latest/userguide/delete-project.html) la *Guía del AWS CodeBuild usuario*.