implementando entrega contínua- parte 2

Post on 03-Jul-2015

869 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Gerenciamento de Código.

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