As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Configurando a compilação da Micro Focus para o aplicativo BankDemo de amostra
AWS A modernização do mainframe oferece a capacidade de configurar compilações e pipelines de integração contínua/entrega contínua (CI/CD) para seus aplicativos migrados. Essas compilações e pipelines usam AWS CodeBuild AWS CodeCommit, e AWS CodePipeline para fornecer esses recursos. CodeBuild é um serviço de compilação totalmente gerenciado que compila seu código-fonte, executa testes de unidade e produz artefatos prontos para implantação. CodeCommit é um serviço de controle de versão que permite armazenar e gerenciar de forma privada repositórios Git na nuvem. AWS CodePipeline é um serviço de entrega contínua que permite modelar, visualizar e automatizar as etapas necessárias para lançar seu software.
Este tutorial demonstra como usá-lo para AWS CodeBuild compilar o código-fonte do aplicativo de BankDemo amostra do Amazon S3 e depois exportar o código compilado de volta para o Amazon S3.
AWS CodeBuild é um serviço de integração contínua totalmente gerenciado que compila o código-fonte, executa testes e produz pacotes de software prontos para implantação. Com CodeBuild, você pode usar ambientes de compilação predefinidos ou criar ambientes de compilação personalizados que usam suas próprias ferramentas de compilação. Esse cenário de demonstração usa a segunda opção. Ele consiste em um ambiente de CodeBuild construção que usa uma imagem Docker pré-empacotada.
Importante
Antes de iniciar seu projeto de modernização de mainframe, recomendamos que você conheça o AWS
Migration Acceleration Program (MAP) for Mainframe ou entre em contato com especialistas em AWS mainframe
Tópicos
- Pré-requisitos
- Etapa 1: compartilhar os ativos de construção com a AWS conta
- Etapa 2: criar buckets do Amazon S3
- Etapa 3: criar o arquivo de especificação de construção
- Etapa 4: Carregar os arquivos de origem
- Etapa 5: criar IAM políticas
- Etapa 6: criar uma IAM função
- Etapa 7: anexar as IAM políticas à IAM função
- Etapa 8: criar o CodeBuild projeto
- Etapa 9: iniciar a compilação
- Etapa 10: Baixar artefatos de saída
- Limpar os recursos
Pré-requisitos
Antes de iniciar este tutorial, conclua os seguintes pré-requisitos.
-
Baixe o aplicativo BankDemo de amostra
e descompacte-o em uma pasta. A pasta de origem contém COBOL programas, cadernos e definições. Ele também contém uma JCL pasta para referência, embora você não precise criarJCL. A pasta também contém os meta-arquivos necessários para a compilação. -
No console de modernização do AWS mainframe, escolha Ferramentas. Em Análise, desenvolvimento e criação de ativos, escolha Compartilhar ativos com minha AWS conta.
Etapa 1: compartilhar os ativos de construção com a AWS conta
Nesta etapa, você garante compartilhar os ativos de construção com sua AWS conta, especialmente na região em que os ativos estão sendo usados.
-
Abra o console de modernização do AWS mainframe em. https://console.aws.amazon.com/m2/
-
Na navegação à esquerda, selecione Ferramentas.
-
Em Análise, desenvolvimento e criação de ativos, escolha Compartilhar ativos com minha AWS conta.
Importante
Você precisa executar essa etapa uma vez em cada AWS região em que pretende fazer construções.
Etapa 2: criar buckets do Amazon S3
Nesta etapa, você cria dois buckets do Amazon S3. O primeiro é um bucket de entrada para armazenar o código-fonte e o outro é um bucket de saída para armazenar a saída da compilação. Para obter mais informações, consulte Criação, configuração e trabalho com buckets do Amazon S3 no Guia do usuário do Amazon S3.
-
Para criar o bucket de entrada, faça login no console do Amazon S3 e escolha Criar bucket.
-
Em Configuração geral, forneça um nome para o bucket e especifique Região da AWS onde você deseja criar o bucket. Um exemplo de nome é
codebuild-regionId-accountId-input-bucket
, whereregionId
is the Região da AWS do bucket eaccountId
é seu Conta da AWS ID.nota
Se você estiver criando o bucket em um local diferente Região da AWS do Leste dos EUA (Norte da Virgínia), especifique o
LocationConstraint
parâmetro. Para obter mais informações, consulte Create Bucket na APIReferência do Amazon Simple Storage Service. -
Mantenha todas as outras configurações e escolha Criar bucket.
-
Repita as etapas de 1 a 3 para criar o bucket de saída. Um exemplo de nome é
codebuild-regionId-accountId-output-bucket
, whereregionId
is the Região da AWS do bucket eaccountId
é seu Conta da AWS ID.Independentemente dos nomes que você escolher para esses buckets, não deixe de usá-los ao longo deste tutorial.
Etapa 3: criar o arquivo de especificação de construção
Nesta etapa, você cria um arquivo de especificações de compilação. Esse arquivo fornece comandos de compilação e configurações relacionadas, em YAML formato, CodeBuild para executar a compilação. Para obter mais informações, consulte a referência da especificação de compilação CodeBuild no Guia AWS CodeBuild do usuário.
-
Crie um arquivo chamado
buildspec.yml
no diretório que você descompactou como pré-requisito. -
Adicione o seguinte conteúdo ao arquivo e salve. Nenhuma alteração é necessária para este arquivo.
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/**
Aqui
CODEBUILD_BUILD_ID
,CODEBUILD_BUILD_ARN
,$CODEBUILD_SRC_DIR/source
, e$CODEBUILD_SRC_DIR/target
estão as variáveis de ambiente disponíveis em CodeBuild. Para obter mais informações, consulte Variáveis de ambiente em ambientes de compilação.Nesse ponto, seu diretório deve ter a seguinte aparência.
(root directory name) |-- build.xml |-- buildspec.yml |-- LICENSE.txt |-- source |... etc.
-
Compacte o conteúdo da pasta em um arquivo chamado
BankDemo.zip
. Para este tutorial, não é possível compactar a pasta. Em vez disso, compacte o conteúdo da pasta no arquivoBankDemo.zip
.
Etapa 4: Carregar os arquivos de origem
Nesta etapa, você carrega o código-fonte do aplicativo de BankDemo amostra no seu bucket de entrada do Amazon S3.
-
Faça login no console do Amazon S3 e escolha Buckets no painel de navegação esquerdo. Em seguida, escolha o bucket de entrada que você criou anteriormente.
-
Em Objetos, escolha Carregar.
-
Na seção Arquivos e pastas, escolha Adicionar arquivos.
-
Navegue e escolha seu arquivo
BankDemo.zip
. -
Escolha Carregar.
Etapa 5: criar IAM políticas
Nesta etapa, você cria duas IAMpolíticas. Uma política concede permissões para a modernização do AWS mainframe acessar e usar a imagem do Docker que contém as ferramentas de criação da Micro Focus. Essa política não é personalizada para clientes. A outra política concede permissões para que a modernização do AWS mainframe interaja com os buckets de entrada e saída e com os CloudWatch registros da Amazon que são gerados. CodeBuild
Para saber mais sobre como criar uma IAM política, consulte Edição de IAM políticas no Guia IAM do usuário.
Para criar uma política para acessar imagens do Docker
-
No IAM console, copie o seguinte documento de política e cole-o no 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" } ] }
-
Forneça um nome para a política, por exemplo,
m2CodeBuildPolicy
.
Para criar uma política que permita que a modernização do AWS mainframe interaja com buckets e registros
-
No IAM console, copie o seguinte documento de política e cole-o no editor de políticas. Certifique-se de atualizar
regionId
para o Região da AWS, eaccountId
para o seu Conta da 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" } ] } -
Forneça um nome para a política, por exemplo,
BankdemoCodeBuildRolePolicy
.
Etapa 6: criar uma IAM função
Nesta etapa, você cria uma nova IAMfunção que permite CodeBuild interagir com AWS os recursos para você, depois de associar as IAM políticas que você criou anteriormente a essa nova IAM função.
Para obter informações sobre como criar uma função de serviço, consulte Criação de uma função para delegar permissões a um AWS serviço no Guia do IAM usuário,.
-
Faça login no IAM console e escolha Funções no painel de navegação esquerdo.
-
Selecione Criar função.
-
Em Tipo de entidade confiável, escolha AWSserviço.
-
Em Casos de uso para outros AWS serviços, escolha e CodeBuild, em seguida, escolha CodeBuildnovamente.
-
Escolha Próximo.
-
Na página Adicionar permissões, escolha Próximo. Você atribui uma política à função posteriormente.
-
Em Detalhes da função, forneça um nome para a função, por exemplo,
BankdemoCodeBuildServiceRole
. -
Em Selecionar entidades confiáveis, verifique se o documento de política tem a seguinte aparência:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Selecione Criar função.
Etapa 7: anexar as IAM políticas à IAM função
Nesta etapa, você anexa IAM as duas políticas criadas anteriormente à BankdemoCodeBuildServiceRole
IAM função.
-
Faça login no IAM console e escolha Funções no painel de navegação esquerdo.
-
Em Perfil do IAM, escolha a função que você criou anteriormente, por exemplo,
BankdemoCodeBuildServiceRole
. -
Em Políticas de permissões, escolha Adicionar permissões e, em seguida, Anexar políticas.
-
Em Outras políticas de permissões, escolha as políticas que você criou anteriormente, por exemplo,
m2CodeBuildPolicy
eBankdemoCodeBuildRolePolicy
. -
Escolha Anexar políticas.
Etapa 8: criar o CodeBuild projeto
Nesta etapa, você cria o CodeBuild projeto.
-
Faça login no CodeBuild console e escolha Criar projeto de compilação.
-
Na seção Configuração do projeto, forneça um nome para o projeto, por exemplo,
codebuild-bankdemo-project
. -
Na seção Fonte, em Provedor de origem, escolha Amazon S3 e, em seguida, escolha o bucket de entrada que você criou anteriormente, por exemplo,
codebuild-regionId-accountId-input-bucket
. -
No campo Chave do objeto do S3 ou pasta do S3, insira o nome do arquivo zip que você carregou no bucket do S3. Nesse caso, o nome do arquivo é
bankdemo.zip
. -
Na seção Ambiente, escolha Imagem personalizada.
-
No campo Tipo de ambiente, escolha Linux.
-
Em Registro de imagens, escolha Outro registro.
-
No URL campo Registro externo,
-
Para Micro Focus v9: Enter
673918848628.dkr.ecr.us-west-1.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1
. Se você estiver usando uma AWS região diferente com o Micro Focus v9, você também pode especificar673918848628.dkr.ecr.<m2-region>.amazonaws.com/m2-enterprise-build-tools:9.0.7.R1
onde <m2-region>está uma AWS região na qual o serviço de modernização de AWS mainframe está disponível (por exemplo,).eu-west-3
-
Para Micro Focus v8: Enter
673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:8.0.9.R1
-
Para Micro Focus v7: Enter
673918848628.dkr.ecr.us-west-2.amazonaws.com/m2-enterprise-build-tools:7.0.R10
-
-
Em Função de serviço, escolha Função de serviço existente e, no ARN campo Função, escolha a função de serviço que você criou anteriormente; por exemplo,
BankdemoCodeBuildServiceRole
. -
Na seção Buildspec, escolha Usar um arquivo buildspec.
-
Na seção Artefatos, em Tipo, escolha Amazon S3 e, em seguida, escolha seu bucket de saída, por exemplo,
codebuild-regionId-accountId-output-bucket
. -
No campo Nome, insira o nome de uma pasta no bucket que você deseja que contenha os artefatos de saída da compilação, por exemplo,
bankdemo-output.zip
. -
Em Embalagem de artefatos, escolha Zip.
-
Selecione Create build project (Criar projeto de compilação).
Etapa 9: iniciar a compilação
Nesta etapa, você inicia a compilação.
-
Faça login no CodeBuild console.
-
No painel de navegação esquerdo, selecione Criar projetos.
-
Escolha o projeto de compilação que você criou anteriormente, por exemplo,
codebuild-bankdemo-project
. -
Selecione Start build.
Esse comando inicia a compilação. A compilação é executada de forma assíncrona. A saída do comando é JSON aquela que inclui o id do atributo. Esse id de atributo é uma referência ao id de CodeBuild compilação da compilação que você acabou de iniciar. Você pode ver o status da compilação no CodeBuild console. Você também pode ver logs detalhados sobre a execução da compilação no console. Para obter mais informações, consulte Exibir informações detalhadas da compilação no Guia do usuário do AWS CodeBuild .
Quando a fase atual éCOMPLETED, significa que sua compilação foi concluída com sucesso e que seus artefatos compilados estão prontos no Amazon S3.
Etapa 10: Baixar artefatos de saída
Nesta etapa, você baixa os artefatos de saída do Amazon S3. A ferramenta de compilação da Micro Focus pode criar vários tipos diferentes de executáveis. Neste tutorial, ele gera objetos compartilhados.
-
Faça login no console do Amazon S3.
-
Na seção Buckets role="bold">, escolha o nome do seu bucket de saída, por exemplo,.
codebuild-regionId-accountId-output-bucket
-
Escolha Baixar role="bold">.
-
Não descompacte o arquivo obtido por download. Navegue até a pasta de destino para ver os artefatos de compilação. Isso inclui os objetos compartilhados do
.so
Linux.
Limpar os recursos
Se você não precisar mais dos recursos que criou para este tutorial, exclua-os para evitar cobranças adicionais. Para fazer isso, realize as etapas a seguir:
-
Exclua os buckets do S3 que você criou para este tutorial. Para obter mais informações, consulte Excluir um bucket no Guia do usuário do Amazon Simple Storage Service.
-
Exclua IAM as políticas que você criou para este tutorial. Para obter mais informações, consulte Excluindo IAM políticas no Guia do IAM usuário.
-
Exclua a IAM função que você criou para este tutorial. Para obter mais informações, consulte Excluir funções ou perfis de instância no Guia do IAM usuário.
-
Exclua o CodeBuild projeto que você criou para este tutorial. Para obter mais informações, consulte Excluir um projeto de compilação CodeBuild no Guia AWS CodeBuild do usuário.