Mindmap
1a. Maneira - Integração Contínua
Inhalt der Mindmap
1a. Maneira - Integração Contínua
Melhor Alternativa para Branching
- Destacar o que usualmente ocorre em um ambiente de Desenvolvimento
- - Trunk ou Master: é a linha principal que o projeto sempre deve se basear até o deploy em ambiente de produção. - Branch: Ramificações que cada desenvolvedor ou equipe de desenvolvimento cria em dado momento. Representa uma cópia do código atual doTrunk em dado momento. - Check-in e check-out do código será sempre baseado no trunk.
- - É comum existirem várias branches ao mesmo tempo dependendo da quantidade de equipes. - Tag: marcador do estado do código em dado momento. Ex: tag para marcar versão 3.4.2 do projeto. - Sempre que fazemos uma merge de código da branch para o repositório principal ou trunk é importante marcar esse evento com uma tag. Pois caso aja algum problema no código pode-se fazer um rollback com relação à tag em questão. A tag também pode relacionar marcos importantes do projeto, como implantação de uma funcionalidade crítica no repositório principal de produção ou alterações estratégicas.
- Quando se tem muitas branches, há problemas quanto ao merge - Integração do código
- - Quanto mais branches temos em paralelo ( ex: equipes trabalhando em versões diferentes do código ) isso significa mais alterações em paralelo sendo realizadas.
- - Quanto mais tempo demorar o merge, maior será o conflito e complexidade para integrar. - O uso de muitas branches em paralelo costuma aumentar o débito técnico. - Deve-se minimizar a quantidade de branches em paralelo que levem muito tempo para fazer o commit no Trunk.
- Estratégias de branching
- - Estratégia 1: Produtividade Individual. Vantagem: Projeto privado que não atrapalha outras equipes. - Estratégia 2: Produtividade da equipe com desenvolvimento baseado no Trunk. Vantagem: Fila única com todos trabalhando no Trunk e Commits frequentes.Não há o estresse de merge ao final do projeto.
- Produtividade Individual
- Vantagens: Projeto Privado que não atrapalha outras equipes
- Desvantagens: Merge do código ocorre ao final do projeto e gera muitos problemas
- Produtividade da equipe baseada no Trunk ( melhor escolha para Devops )
- Vantagens: Fila única com todos trabalhando no Trunk e Commits frequentes. Não há o estresse de merge ao final do projeto
- Desvantagens: Difícil de implantar porque cada commit pode quebrar o projeto inteiro. Deve-se puxar a corda de Andon para corrigir
- Destacar o que usualmente ocorre em um ambiente de Desenvolvimento
Débito técnico e fluxo de valor
- - A dívida ou débito técnico aumentam caso não cuidemos da integração contínua.
- Erros não corrigidos aumentam a dívida técnica
- Dificulta entrega de qualidade ao cliente do fluxo de valor
- - Apesar de ter código funcionando, caso não aja preocupação de refatoração e melhorias no código, há degradação da performance e qualidade da funcionalidade ao longo do tempo.
- Dificulta entrega de qualidade ao cliente do fluxo de valor
- Código sem padrão
- - Prejudica a melhoria de código e manutenção.
- Código sujo
- - Sem descrição de métodos e classes no próprio código. - Código deve ser autoexplicativo mas deve-se evitar muitos comentários pois muitas vezes uma mudança no código demanda mudanças em comentários e isso muitas vezes não é feito.
- Teste Ineficaz
- - Teste que não auxilia a validar a função do método ou classe no caso de teste unitátio ou que não preenche todos os requisitos de teste para o teste de aceitação.
- Bugs escondidos
- - Bug não percebido em um primeiro momento ou que o cliente já se acostumou e a equipe de TI não acha importante resolver nesse momento.
Dicas para resolver o débito técnico
- Desenvolvimento baseado no Trunk
- - Identificar erros mais rapidamente com commits diários. - Correção rápida de erros.
- Utilizar infraestrutura como código sempre que possível
- - Preparação do ambiente e solução de problemas serão feitos de maneira mais ágil. - Minimizar configurações manuais. - Montar catálogo de serviços sendo a criação de ambientes e servidores, por exemplo, sendo feita via script ou ferramenta com parâmetros associados.
- - Facilita o dimensionamento e preparação de ambientes, assim como a verificação de erros em produção.
- Testes automatizados
- - Devemos ter sempre prontos testes unitários automatizados, testes de regressão, integração e de fumaça automatizados. - Ferramentas de testes automatizados devem ser incorporadas ao Pipeline.
- Integração Contínua e Lotes Pequenos
- Blitz de melhoria
- - Resolver um problema recorrente ou realizar uma melhoria com auxílio de uma equipe multidisciplinar, várias áreas.
- - Utilizar iniciativas Lean, analisando o que não agrega valor para que se possa cortar. Com isso ganha-se tempo para pensar em melhorias.
- - Pode envolver reestruturação e refatoração do código assim como observar e tentar resolver os problemas que mais afetam o cliente.
- Feedback imediato e aprendizado contínuo
- Desenvolvimento baseado no Trunk
Informationen
- Beschreibung
- Gestão Devops Jornada DevOps e Certificação oficial EXIN Profissional (7 - Primeira Maneira: Pipeline de Implantação) Mindmap am 1a. Maneira - Integração Contínua, erstellt von Luis Felipe Guariento am 19/02/2025.
- Erstellt von
- Luis Felipe Guariento
- Aufrufe
- 1
- Bewertung
Mehr zu Integração, entrega e implantação contínuas