Continuous Deployment

25
Continuous Deployment Welington Oliveira da Silva #ALMRoadShow

Transcript of Continuous Deployment

Continuous Deployment

Welington Oliveira da Silva

#ALMRoadShow

Welington Oliveira da Silva

Participe...

• #DotNetCuritiba

• http://bit.ly/DotNetCuritiba

Continuous Deployment• O que é?

“É a capacidade de entregar valor para seu cliente o mais rápido e frequente possível”

• É uma evolução do Continuous Integration e do Continuous Delivery• Vamos todos publicar em produção todo dia e toda a hora?

Cenário de Caos

Metodologia Ágil

• Foco nos indivíduos e interações e não no processo•Maior retorno de valor•Ciclos iterativos e incrementais

Valor para o cliente é igual a software em PRODUÇÃO

Metodologia Ágil

Primeiro, Integração ContínuaÉ a prática de minimizar o tempo e o esforço necessário para

integrar o código fonte de todos os integrantes da equipe

• Repositório Integrado• Validação constante no repositório• Builds Automatizados• Monitoramento e Feedback

E a Qualidade?

• Testes, Testes e mais Testes• Automatização de Testes• Integração e Validação• Testes Unitários ou Aceitação

Principais Aspectos

Automatização

Padrões e Práticas

Colaboração

Benefícios

Para o cliente o que vale é o SOFTWARE EM PRODUÇÃO

• Redução do Risco e da complexidade da entrega

• Definição de pronto é realmente pronto,ou seja, ENTREGUE

• Feedback do usuário o mais rápido possível

Principais Desafios

• Mudanças estruturais (Banco de Dados)

• Garantir a Qualidade e Evitar Erros

• Manter a Agilidade do Processo de Deploy

• Impedir Sistema Inoperante

Adequar a Realidade

• Necessidades da área de negócio

• Impacto estratégico

• Inovação

• Reação Rápida

• Resposta a mudanças

Continuous Delivery Pipeline

Visual Studio ALM

Controle de Versão

Integração Contínua

Testes Automatizados

Team Build

Release Management

Team Foundation Build 2015• A ferramenta foi totalmente remodelada• Os templates em Workflow Foundation não são mais

utilizados• Os Build Agents não necessitam mais de um ambiente

Windows• Adicione passos(steps) a sua definição de Build• Crie seus próprios steps customizados• Execute e configure os testes facilmente• Continuous Deployment pra nuvem

Cross-Plataform• Os Build Agents podem executar em qualquer ambiente• Windows• Linux• Mac

• Build de qualquer plataforma executando em qualquer plataforma• Node.js App (Agent)

Release Management

Release Management

• Automatização dos Deploys• Padronização do Processo para Ambiente Diferentes• Controle do Processo de Workflow de Aprovação

Release Management

Release Management

Release Management Server

Release Management Client

Deployment Agents

Release Management

Controla, gerencia e executa as releases

Conecta ao RM Server para administração das releases

Servidor que faz parte do ambiente das Releases

DemonstraçãoContinuous Deployment

Obrigado!

[email protected]

#ALMRoadShow