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á.
Crie um pipeline em regiões da AWS que não oferecem suporte à AWS CodePipeline
Criado por Anand Krishna Varanasi (AWS)
Repositório de códigos: invisible-codepipeline-unsupported-regions | Ambiente: PoC ou piloto | Tecnologias: Infraestrutura; DevOps |
Serviços da AWS: AWS CodeBuild; AWS CodeCommit; AWS CodeDeploy; AWS CodePipeline |
Resumo
CodePipeline A AWS é um serviço de orquestração de entrega contínua (CD) que faz parte de um conjunto de DevOps ferramentas da Amazon Web Services (AWS). Ele se integra a uma grande variedade de fontes (como sistemas de controle de versão e soluções de armazenamento), produtos e serviços de integração contínua (CI) da AWS e de parceiros da AWS e produtos de código aberto para fornecer um serviço de end-to-end fluxo de trabalho para implantações rápidas de aplicativos e infraestrutura.
No entanto, CodePipeline não é compatível com todas as regiões da AWS e é útil ter um orquestrador invisível que conecte os serviços de CI/CD da AWS. Esse padrão descreve como implementar um pipeline de end-to-end fluxo de trabalho em regiões da AWS onde ainda CodePipeline não há suporte usando serviços de CI/CD da AWS, como AWS CodeBuild, CodeCommit AWS e AWS. CodeDeploy
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
CLI do AWS Cloud Development Kit (AWS CDK) versão 2.28 ou superior
Arquitetura
Pilha de tecnologias de destino
O diagrama a seguir mostra um pipeline que foi criado em uma região que não oferece suporte CodePipeline, como a região da África (Cidade do Cabo). Um desenvolvedor envia os arquivos de CodeDeploy configuração (também chamados de scripts de gancho do ciclo de vida de implantação) para o repositório Git hospedado por. CodeCommit (Consulte o GitHub repositório
Os arquivos de CodeDeploy configuração são obtidos CodeCommit como parte do estágio de origem do pipeline e transferidos para o. CodeBuild
Na próxima fase, CodeBuild executa as seguintes tarefas:
Faz o download do arquivo TAR do código-fonte da aplicação. Você pode configurar o nome desse arquivo usando o Parameter Store, um recurso do AWS Systems Manager.
Faz o download dos arquivos de CodeDeploy configuração.
Cria um arquivo combinado de código-fonte e arquivos CodeDeploy de configuração do aplicativo que são específicos para o tipo de aplicativo.
Inicia a CodeDeploy implantação em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) usando o arquivamento combinado.
![Criação de pipeline em uma região da AWS sem suporte](images/pattern-img/e27750de-b597-424e-b5bf-4d58dc9b60cc/images/95fc815e-a762-4142-b0fd-2a716823e498.png)
Ferramentas
Serviços da AWS
CodeBuildA AWS é um serviço de criação totalmente gerenciado que ajuda você a compilar o código-fonte, executar testes unitários e produzir artefatos prontos para implantação.
CodeCommitA AWS é um serviço de controle de versão que ajuda você a armazenar e gerenciar repositórios Git de forma privada, sem precisar gerenciar seu próprio sistema de controle de origem.
A AWS CodeDeploy automatiza implantações no Amazon EC2 ou em instâncias locais, funções do AWS Lambda ou serviços do Amazon Elastic Container Service (Amazon ECS).
CodePipelineA AWS ajuda você a modelar e configurar rapidamente os diferentes estágios de uma versão de software e automatizar as etapas necessárias para liberar alterações de software continuamente.
O AWS Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura da Nuvem AWS em código.
Código
O código desse padrão está disponível no repositório GitHub CodePipeline Unsupported Regions
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Instale a AWS CDK CLI. | Para obter instruções, consulte a documentação do AWS CDK. | AWS DevOps |
Instalar um cliente Git. | Para criar commits, você pode usar um cliente Git instalado em seu computador local e, em seguida, enviar seus commits para o repositório. CodeCommit Para configurar CodeCommit com seu cliente Git, consulte a CodeCommit documentação. | AWS DevOps |
Instale o npm. | Instale o gerenciador de pacotes npm. Para obter mais informações, consulte a documentação do npm | AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Clone o repositório de códigos. | Clone o repositório de regiões GitHub CodePipeline não suportadas
| DevOps engenheiro |
Defina os parâmetros em cdk.json. | Abra o arquivo
onde:
| AWS DevOps |
Configure a biblioteca de estruturas CDK da AWS. | No GitHub repositório clonado, use os comandos a seguir para instalar a biblioteca de construção do AWS CDK, criar seu aplicativo e sintetizar para gerar o modelo da AWS CloudFormation para o aplicativo.
| AWS DevOps |
Implante a aplicação WS CDK CLI de exemplo. | Implante o código executando o comando a seguir em uma região sem suporte (como
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure o CI/CD para o aplicativo. | Clone o CodeCommit repositório que você especificou no
onde o nome do repositório e a região dependem dos valores fornecidos no arquivo | AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Teste o pipeline com instruções de implantação. | A | AWS DevOps |
Recursos relacionados
Conceitos básicos (documentação do AWS CDK)
Introdução ao kit de desenvolvimento em nuvem (CDK)
(AWS Workshop Studio)