Tutorial: Configuración de la versión de Micro Focus para la aplicación BankDemo de muestra - AWS Modernización de mainframe

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 Micro Focus para la aplicación BankDemo de muestra

AWS La modernización del mainframe le permite configurar compilaciones y canalizaciones de integración y entrega continuas (CI/CD) para sus aplicaciones migradas. Estas compilaciones y canalizaciones utilizan AWS CodeBuild y proporcionan estas capacidades. AWS CodeCommit AWS CodePipeline 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 mainframe, le recomendamos que conozca el AWS Migration Acceleration Program (MAP) for Mainframe o que se ponga en contacto con especialistas en AWS mainframe para obtener información sobre los pasos necesarios para modernizar una aplicación de mainframe.

Requisitos previos

Antes de comenzar este tutorial, complete los siguientes requisitos previos:

  • Descargue la aplicación de BankDemo muestra y descomprímala en una carpeta. La carpeta de origen contiene COBOL programas, cuadernos de texto y definiciones. También contiene una JCL carpeta de referencia, aunque no es necesario JCL compilarla. 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 creación de activos, seleccione Compartir activos con mi AWS cuenta.

Paso 1: Comparte los activos de construcción con la AWS cuenta

En este paso, asegúrate de compartir los activos de construcción con tu 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/.

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

  3. 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: Crear buckets de Amazon S3

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

  2. En la configuración general, proporcione un nombre para el depósito y especifique Región de AWS dónde quiere 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, consulta Crear un depósito en la APIreferencia de Amazon Simple Storage Service.

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

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

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

Paso 3: Crea el archivo de especificaciones de compilación

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 YAML formato, CodeBuild para ejecutar la compilación. Para obtener más información, consulte la referencia de especificaciones de compilación CodeBuild 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.

  2. 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 disponibles las variables de entorno CodeBuild. Para obtener más información, consulte Variables de entorno en los entornos de compilación.

    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.
  3. 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: Cargue los archivos fuente

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.

  2. En Objetos, selecciona Cargar.

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

  4. Vaya al archivo BankDemo.zip y elíjalo.

  5. Seleccione Cargar.

Paso 5: Crear IAM políticas

En este paso, se crean dos IAMpolíticas. Una política concede permisos para que AWS Mainframe Modernization acceda y utilice la imagen de Docker que contiene las herramientas de compilación de Micro Focus. 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.

Para obtener información sobre cómo crear una IAM política, consulte Edición de IAM políticas en la Guía del IAMusuario.

Para crear una política de acceso a las imágenes de Docker
  1. En la IAM consola, copie el siguiente documento de política y péguelo en el editor de políticas.

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

Para crear una política que permita a AWS Mainframe Modernization interactuar con los depósitos y los registros
  1. En la IAM consola, 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.

    { "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. Escriba un nombre para la política, por ejemplo, BankdemoCodeBuildRolePolicy.

Paso 6: Crea un IAM rol

En este paso, crea un nuevo IAMrol que le CodeBuild permita interactuar con AWS los recursos, después de asociar las IAM políticas que creó anteriormente a este nuevo IAM rol.

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 en la Guía del IAM usuario,.

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

  2. Elija Crear rol.

  3. En Tipo de entidad de confianza, selecciona AWSservicio.

  4. En Casos de uso para otros AWS servicios, selecciona y CodeBuild, a continuación, CodeBuildvuelve a seleccionarlo.

  5. Elija Next (Siguiente).

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

  7. En Detalles del rol, proporcione un nombre para el rol, por ejemplo, BankdemoCodeBuildServiceRole.

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

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

Paso 7: Adjunte las IAM políticas al IAM rol

En este paso, debe adjuntar las dos IAM políticas que creó anteriormente al BankdemoCodeBuildServiceRole IAM rol.

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

  2. En Roles, elija el rol que ha creado anteriormente, por ejemplo, BankdemoCodeBuildServiceRole.

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

  4. En Otras políticas de permisos, elija las políticas que ha creado anteriormente, por ejemplo, m2CodeBuildPolicy yBankdemoCodeBuildRolePolicy.

  5. Seleccione Asociar políticas.

Paso 8: Crea el CodeBuild proyecto

En este paso, crearás el CodeBuild proyecto.

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

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

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

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

  5. En la sección Entorno, seleccione Imagen personalizada.

  6. En el campo Tipo de entorno, seleccione Linux.

  7. En Registro de imágenes, seleccione Otro registro.

  8. En el URL campo Registro externo,

    • Para Micro Focus v9: Introduzca673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1. Si utiliza una AWS región diferente con Micro Focus 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 Micro Focus v8: Introduzca 673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1

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

  9. En Función de servicio, elija Función de servicio existente y, en el ARN campo Función, elija la función de servicio que creó anteriormente; por ejemplo,BankdemoCodeBuildServiceRole.

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

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

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

  13. En Empaquetado de artefactos, elija Zip.

  14. Elija Crear el proyecto de compilación.

Paso 9: Iniciar la compilación

En este paso, iniciará la compilación.

  1. Inicie sesión en la CodeBuild consola.

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

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

  4. Seleccione Iniciar la compilación.

Este comando inicia la compilación. La compilación se ejecuta de forma asincrónica. El resultado del comando es un JSON que incluye el identificador 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 en AWS CodeBuild User Guide.

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

Paso 10: Descargar los artefactos de salida

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

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

  2. En la sección Buckets role="bold">, elige el nombre del depósito de salida, por ejemplo. codebuild-regionId-accountId-output-bucket

  3. Selecciona Descargar role="bold">.

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

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 en la Guía del usuario de Amazon Simple Storage Service.

  • Elimine las IAM políticas que creó para este tutorial. Para obtener más información, consulte Eliminar IAM políticas en la Guía del IAM usuario.

  • Elimine el IAM rol que creó para este tutorial. Para obtener más información, consulte Eliminar roles o perfiles de instancia en la Guía del IAM usuario.

  • Elimine el CodeBuild proyecto que creó para este tutorial. Para obtener más información, consulte Eliminar un proyecto de compilación CodeBuild en la Guía del AWS CodeBuild usuario.