implementando entrega contínua- parte 2
Post on 03-Jul-2015
869 Views
Preview:
DESCRIPTION
TRANSCRIPT
Como implementar Entrega Contínua?
Parte 2: Gerenciamento de Código
Como gerenciar
meu Codebase?
Como gerenciar meu Codebase?
Trunk
Time Laranja
Time Verde
Como os diferentes fluxos de desenvolvimento…
Trunk
1 1
2
1
2
3
1
4
2
3
4
5
1
2
3
1 1 1 1
2 2 2
3 3
4
Como os diferentes fluxos de desenvolvimento… podem se integrar…
Branch onde o Time Laranja faz seus merges
Branch onde o Time Verde faz seus merges
Como gerenciar meu Codebase?
Trunk
1 1
2
1
2
3
1
4
2
3
4
5
1
2
3
1 1 1 1
2 2 2
3 3
4
1 2
3 4 4 3
5 1 2
…sem provocar conflitos de merge típicos de Feature-branching? Como gerenciar
meu Codebase?
Trunk
1
2
3 4 5
1 2 3 4
Com Integração Contínua
1 2 1 3
2 2
4 3 4 5
Como gerenciar meu Codebase?
Algumas práticas de Integação Contínua:
Todos fazem commits para o trunk pelo menos uma vez por dia
Evitar criação de branches
Testes Automatizados são executados para cada commit
http://martinfowler.com/articles/continuousIntegration.html
Como gerenciar meu Codebase?
O que se faz com Codebases grandes? Como gerenciar meu Codebase?
O que se faz com Codebases grandes? Como gerenciar meu Codebase? Modularização Micro-Serviços
Como eu
entrego
trabalho
incompleto?
Usando Feature Toggles
[featureToggles]wobblyFoobars: trueflightyForkHandles: false <toggle name=wobblyFoobars>
... various UI elements</toggle>
forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle)
Config File some.jsp
other.java
Como eu entrego trabalho incompleto?
Diretrizes para Feature Toggles
Só use quando necessário
Preferencialmente, a funcionalidade deve ser escondida pelo toggle
Remova os toggles quando a funcionalidade estiver ativa e estável
Como eu entrego trabalho incompleto?
Use Branches por abstração Como eu entrego trabalho incompleto?
Aplicação
Biblioteca
Nova Biblioteca
http://paulhammant.com/blog/branch_by_abstraction.html/
Como eu entrego trabalho incompleto?
Aplicação
Interface
Bliblioteca
Nova Biblioteca
implementa
Use Branches por abstração
Como eu entrego trabalho incompleto?
Aplicação Interface
Biblioteca
Nova Biblioteca
implementa
Use Branches por abstração
Como eu entrego trabalho incompleto?
Aplicação
Interface
Nova Biblioteca
implementa
Use Branches por abstração
Como eu entrego trabalho incompleto?
Aplicação
Nova Biblioteca
Use Branches por abstração
Tudo sobre Pipelines…
Fique ligado na Parte 3…
Implemente um ótimo produto mais rapidamente. Go automatiza e simplifica o ciclo build-test-release do seu produto para entrega contínua sem preocupação.
Saiba Mais Veja como Go pode ajudar na sua jornada de Entrega Contínua
goContinuous Delivery
top related