Successfully reported this slideshow.
Como implementar
Entrega Contínua?
Parte 2: Gerenciamento de Código
Como gerenciar
meu Codebase?
Como gerenciar
meu Codebase?

Como os diferentes fluxos de desenvolvimento…
Time Laranja

Trunk

Time Verde
Como os diferentes fluxos de desenvolvimento…
Como gerenciar
podem se integrar… 5

meu Codebase?

4
3

3

3

2

2

2

2

1...
…sem provocar conflitos de merge típicos de
Como gerenciar Feature-branching?
5
4
meu Codebase?
4
3
2

2

2

1

1

1

1
1
...
Como gerenciar Com Integração Contínua
meu Codebase?
1

Trunk

1

1

2

2
2

2

3

3

3

1

4

5

4

2

4

3

4

5
Como gerenciar Algumas práticas de Integação Contínua:
meu Codebase?
Todos fazem commits para o trunk pelo menos uma
vez p...
Como gerenciar O que se faz com Codebases grandes?
meu Codebase?
Como gerenciar O que se faz com Codebases grandes?
meu Codebase?
Micro-Serviços
Modularização
Como eu
entrego
trabalho
incompleto?
Como eu
entrego
trabalho
incompleto?

Usando Feature Toggles
Config File
some.jsp

[featureToggles]	
wobblyFoobars: true	
...
Como eu
entrego
trabalho
incompleto?

Diretrizes para Feature Toggles
Só use quando necessário
Preferencialmente, a funcio...
Como eu
entrego
trabalho
incompleto?

Use Branches por abstração
Biblioteca

Aplicação

Nova
Biblioteca

http://paulhamman...
Como eu
entrego
trabalho
incompleto?

Use Branches por abstração
Bliblioteca

Aplicação

Interface

implementa

Nova
Bibli...
Como eu
entrego
trabalho
incompleto?

Use Branches por abstração
Biblioteca

Aplicação

Interface

implementa

Nova
Biblio...
Como eu
entrego
trabalho
incompleto?

Use Branches por abstração

Aplicação

Interface

implementa

Nova
Biblioteca
Como eu
entrego
trabalho
incompleto?

Use Branches por abstração

Aplicação

Nova
Biblioteca
Tudo sobre Pipelines…

Fique ligado na Parte 3…
go

Continuous Delivery

Saiba Mais

Veja como Go pode ajudar na
sua jornada de Entrega Contínua

Implemente um ótimo prod...
Upcoming SlideShare
Loading in …5
×

Implementando Entrega Contínua- Parte 2

1,310 views

Published on

Gerenciamento de Código.

Published in: Technology

Implementando Entrega Contínua- Parte 2

  1. 1. Como implementar Entrega Contínua? Parte 2: Gerenciamento de Código
  2. 2. Como gerenciar meu Codebase?
  3. 3. Como gerenciar meu Codebase? Como os diferentes fluxos de desenvolvimento… Time Laranja Trunk Time Verde
  4. 4. Como os diferentes fluxos de desenvolvimento… Como gerenciar podem se integrar… 5 meu Codebase? 4 3 3 3 2 2 2 2 1 1 4 1 1 1 Branch onde o Time Laranja faz seus merges Trunk 1 1 1 2 2 2 3 3 4 1 Branch onde o Time Verde faz seus merges
  5. 5. …sem provocar conflitos de merge típicos de Como gerenciar Feature-branching? 5 4 meu Codebase? 4 3 2 2 2 1 1 1 1 1 Trunk 2 4 1 1 1 2 2 2 3 3 4 3 2 1 3 1 3 2 4 3 5 1
  6. 6. Como gerenciar Com Integração Contínua meu Codebase? 1 Trunk 1 1 2 2 2 2 3 3 3 1 4 5 4 2 4 3 4 5
  7. 7. Como gerenciar Algumas práticas de Integação Contínua: meu Codebase? Todos fazem commits para o trunk pelo menos uma vez por dia Testes Automatizados são executados para cada commit Evitar criação de branches http://martinfowler.com/articles/continuousIntegration.html
  8. 8. Como gerenciar O que se faz com Codebases grandes? meu Codebase?
  9. 9. Como gerenciar O que se faz com Codebases grandes? meu Codebase? Micro-Serviços Modularização
  10. 10. Como eu entrego trabalho incompleto?
  11. 11. Como eu entrego trabalho incompleto? Usando Feature Toggles Config File some.jsp [featureToggles] wobblyFoobars: true flightyForkHandles: false <toggle name=wobblyFoobars> ... various UI elements </toggle> other.java forkHandle = (featureConfig.isOn(‘flightlyForkHandles)) ? new FlightyForkHander(aCandle) : new ForkHandler(aCandle)
  12. 12. 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
  13. 13. Como eu entrego trabalho incompleto? Use Branches por abstração Biblioteca Aplicação Nova Biblioteca http://paulhammant.com/blog/branch_by_abstraction.html/
  14. 14. Como eu entrego trabalho incompleto? Use Branches por abstração Bliblioteca Aplicação Interface implementa Nova Biblioteca
  15. 15. Como eu entrego trabalho incompleto? Use Branches por abstração Biblioteca Aplicação Interface implementa Nova Biblioteca
  16. 16. Como eu entrego trabalho incompleto? Use Branches por abstração Aplicação Interface implementa Nova Biblioteca
  17. 17. Como eu entrego trabalho incompleto? Use Branches por abstração Aplicação Nova Biblioteca
  18. 18. Tudo sobre Pipelines… Fique ligado na Parte 3…
  19. 19. go Continuous Delivery Saiba Mais Veja como Go pode ajudar na sua jornada de Entrega Contínua 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.

×