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á.
Escolhendo uma estratégia de ramificação do Git para ambientes com várias contas DevOps
Amazon Web Services (colaboradores)
Fevereiro de 2024 (histórico do documento)
Mudar para uma abordagem baseada em nuvem e fornecer soluções de software AWS pode ser transformador. Isso pode exigir mudanças em seu processo de ciclo de vida de desenvolvimento de software. Normalmente, vários Contas da AWS são usados durante o processo de desenvolvimento no Nuvem AWS. Escolher uma estratégia de ramificação do Git compatível para combinar com seus DevOps processos é essencial para o sucesso. Escolher a estratégia de ramificação do Git certa para sua organização ajuda você a comunicar de forma concisa DevOps os padrões e as melhores práticas entre as equipes de desenvolvimento. A ramificação do Git pode ser simples em um único ambiente, mas pode se tornar confusa quando aplicada em vários ambientes, como ambientes de sandbox, desenvolvimento, teste, preparação e produção. Ter vários ambientes aumenta a complexidade da DevOps implementação.
Este guia fornece diagramas visuais das estratégias de ramificação do Git que mostram como uma organização pode implementar um processo com várias contas. DevOps Guias visuais ajudam as equipes a entender como mesclar suas estratégias de ramificação do Git com suas práticas. DevOps Usar um modelo de ramificação padrão, como Gitflow, Flow ou Trunk, GitHub para gerenciar o repositório de código-fonte ajuda as equipes de desenvolvimento a alinhar seu trabalho. Essas equipes também podem usar recursos de treinamento padrão do Git na Internet para entender e implementar esses modelos e estratégias.
Para obter as DevOps melhores práticas AWS, consulte o DevOpsGuidance in AWS Well-Architected. Ao revisar este guia, use a devida diligência para selecionar a estratégia de ramificação certa para sua organização. Algumas estratégias podem se adequar melhor ao seu caso de uso do que outras.
Objetivos
Este guia faz parte de uma série de documentação sobre como escolher e implementar estratégias de DevOps ramificação para organizações com várias Contas da AWS. Esta série foi projetada para ajudá-lo a aplicar a estratégia que melhor atenda aos seus requisitos, metas e melhores práticas desde o início, para agilizar sua experiência no. Nuvem AWS Este guia não contém scripts DevOps executáveis porque eles variam com base no mecanismo de integração contínua e entrega contínua (CI/CD) e nas estruturas de tecnologia que sua organização usa.
Este guia explica as diferenças entre três estratégias comuns de ramificação do Git: GitHub Flow, Gitflow e Trunk. As recomendações deste guia ajudam as equipes a identificar uma estratégia de ramificação que se alinha às metas organizacionais. Depois de revisar este guia, você poderá escolher uma estratégia de ramificação para sua organização. Depois de escolher uma estratégia, você pode usar um dos seguintes padrões para ajudá-lo a implementar essa estratégia com suas equipes de desenvolvimento:
É importante observar que o que funciona para uma organização, equipe ou projeto pode não ser adequado para outras. A escolha entre as estratégias de ramificação do Git depende de vários fatores, como tamanho da equipe, requisitos do projeto e o equilíbrio desejado entre colaboração, frequência de integração e gerenciamento de lançamentos.
Usando práticas de CI/CD
AWS recomenda que você implemente a integração e a entrega contínuas (os CI/CD), which is the process of automating the software release lifecycle. It automates much or all of the manual DevOps processes that are traditionally required to get new code from development into production. A CI/CD pipeline encompasses the sandbox, development, testing, staging, and production environments. In each environment, the CI/CD pipeline provisions any infrastructure that is needed to deploy or test the code. By using CI/CD, development teams can make changes to code that are then automatically tested and deployed. CI/CD pipelines também fornecem governança e proteções para as equipes de desenvolvimento). Eles impõem consistência, padrões, melhores práticas e níveis mínimos de aceitação para aceitação e implantação de recursos. Para obter mais informações, consulte Praticando a integração contínua e a entrega contínua em AWS.
Todas as estratégias de ramificação discutidas neste guia são adequadas para CI/CD practices. The complexity of the CI/CD pipeline increases with the complexity of the branching strategy. For example, Gitflow is the most complex branching strategy discussed in this guide. CI/CD pipelines for this strategy require more steps (such as for compliance reasons), and they must support multiple, simultaneous production releases. Using CI/CD also becomes more important as the complexity of the branching strategy increases. This is because CI/CD estabelecer barreiras e mecanismos para equipes de desenvolvimento que impeçam os desenvolvedores de contornar intencionalmente ou não o processo definido.
AWS oferece um conjunto de serviços para desenvolvedores projetados para ajudá-lo a criar pipelines de CI/CD. Por exemplo, AWS 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. AWS CodeBuildcompila o código-fonte, executa testes e produz pacotes ready-to-deploy de software. Para obter mais informações, consulte Ferramentas do desenvolvedor em AWS