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á.
Use AWS CodeCommit e AWS CodePipeline implante um pipeline de CI/CD em várias contas AWS
Criado por Kirankumar Chandrashekar () e Abdal Garuba () AWS AWS
Ambiente: PoC ou piloto | Tecnologias: DevOps | Workload: todas as outras workloads |
AWSserviços: AWS CodeCommit; AWS CodePipeline |
Resumo
Aviso: não AWS CodeCommit está mais disponível para novos clientes. Os clientes existentes do AWS CodeCommit podem continuar usando o serviço normalmente. Saiba mais
Esse padrão mostra como implantar um pipeline de integração contínua e entrega contínua (CI/CD) para suas cargas de trabalho de código de aplicativo em contas separadas da Amazon Web Services (AWS) para fluxos de trabalho de desenvolvedor DevOps, preparação e produção da Amazon Web Services ().
Você pode usar uma estratégia de várias AWS contas
O código do seu aplicativo permanece idêntico em todas essas AWS contas separadas e é mantido em um AWS CodeCommit repositório central hospedado pela sua DevOps conta. Suas contas de desenvolvedor, de teste e de produção têm ramificações Git separadas neste CodeCommit repositório.
Por exemplo, quando o código é enviado para a ramificação Git do desenvolvedor em seu CodeCommit repositório central, a Amazon EventBridge em sua DevOps conta notifica em sua conta de desenvolvedor sobre as alterações EventBridge no repositório. Na sua conta de desenvolvedor AWS CodePipeline e no estágio de origem, entre em InProgress
status. O estágio de origem é configurado a partir da ramificação Git do desenvolvedor no CodeCommit repositório central e CodePipeline assume uma função de serviço para a conta. DevOps
O conteúdo do CodeCommit repositório na filial do desenvolvedor é carregado em um repositório de artefatos em um bucket do Amazon Simple Storage Service (Amazon S3) e criptografado com AWS uma chave do Key Management Service (). AWS KMS Depois que o status do estágio de origem mudar para Succeeded
in CodePipeline, o código será transferido para o próximo estágio da execução do pipeline.
Pré-requisitos e limitações
Pré-requisitos
AWSContas existentes para cada ambiente necessário (desenvolvedorDevOps, preparação e produção). Essas contas podem ser hospedadas por AWSOrganizations.
AWSInterface de linha de comando (AWSCLI), instalada e configurada.
Arquitetura
Pilha de tecnologia
AWS CodeBuild
AWS CodeCommit
AWS CodePipeline
Amazon EventBridge
AWSIdentity and Access Management (IAM)
AWS KMS
AWSOrganizations
Amazon S3
Ferramentas
AWS CodeBuild— 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.
AWS CodeCommit— CodeCommit é um serviço de controle de origem totalmente gerenciado que hospeda repositórios seguros baseados em Git
AWS CodePipeline— CodePipeline é um serviço de entrega contínua totalmente gerenciado que ajuda você a automatizar seus pipelines de lançamento para atualizações rápidas e confiáveis de aplicativos e infraestrutura.
Amazon EventBridge — EventBridge é um serviço de barramento de eventos sem servidor para conectar seus aplicativos com dados de várias fontes.
AWSIdentity and Access Management (IAM) — IAM ajuda você a gerenciar o acesso a AWS serviços e recursos com segurança.
AWSKMS— O AWS Key Management Service (AWSKMS) ajuda você a criar e gerenciar chaves criptográficas e controlar seu uso em uma ampla variedade de AWS serviços e em seus aplicativos.
Amazon S3: o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um CodeCommit repositório. | Faça login no AWS Management Console DevOps da sua conta e abra o CodeCommit console. Crie um repositório e configure todas as ramificações do Git necessárias para suas contas de desenvolvedor, de teste e de produção. AWS Para obter ajuda com esse e outros artigos, consulte a seção “Recursos relacionados”. | DevOps engenheiro |
Crie credenciais de acesso para o CodeCommit repositório. | No IAM console, crie credenciais de acesso para permitir que os desenvolvedores de aplicativos enviem e extraiam a base de código do aplicativo do CodeCommit repositório. | DevOps engenheiro |
Crie uma IAM função para funções CodePipeline de serviço. | No IAM console, crie uma IAM função que possa ser usada por todas as suas funções CodePipeline de serviço para acessar o CodeCommit repositório central. | Administrador de nuvem |
Configure as EventBridge regras para suas outras AWS contas. | No EventBridge console da Amazon, configure regras para enviar notificações sobre alterações relevantes EventBridge no CodeCommit repositório para as contas individuais de desenvolvedor, de teste e de produçãoAWS. | Administrador de nuvem |
Crie uma AWS KMS chave. | No AWS KMS console, crie uma KMS chave que permita que suas AWS contas individuais de desenvolvedor, preparação e produção CodePipeline criptografem e descriptografem artefatos. | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure EventBridge para receber eventos da DevOps AWS conta. | Faça login no AWS Management Console de uma de suas AWS contas individuais (desenvolvedor, teste ou produção). No EventBridge console da Amazon, configure EventBridge para receber eventos de alteração do CodeCommit repositório da sua DevOps conta. | Administrador de nuvem |
Criar um bucket do S3. | No console Amazon S3, crie um bucket S3 para armazenar artefatos. CodePipeline | Administrador de nuvem |
Crie todos os AWS recursos necessários para os CodePipeline estágios. | Crie todos os outros AWS recursos que serão exigidos pelas CodePipeline etapas. Esses recursos variarão de acordo com a função de cada AWS conta em seu pipeline de CI/CD. | Administrador de nuvem |
Crie uma IAM função. | No IAM console, crie uma IAM função para a função CodePipeline de serviço. Essa função de serviço deve ser capaz de assumir a IAM função na DevOps conta para acessar o CodeCommit repositório. | Administrador de nuvem |
Crie um pipeline em CodePipeline. | No CodePipeline console, crie um pipeline. Em seguida, crie um estágio de origem que aponte para o CodeCommit repositório na DevOps conta de sua ramificação individual do Git. | Administrador de nuvem |
Repita as etapas para todas as suas AWS contas. | Repita essas etapas para todas as AWS contas necessárias como parte de sua estratégia de CI/CD. | Administrador de nuvem |
Recursos relacionados
Crie recursos em sua DevOps AWS conta
Crie recursos em suas outras AWS contas
Outros recursos