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 maisTestes
• Automatização deTestes
• Integração eValidaçã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 deVersão
Integração Contínua
TestesAutomatizados
Team Build
Release Management
Team Foundation Build 2015
• A ferramenta foi totalmente remodelada
• Os templates emWorkflow 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 deWorkflow 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ção
Continuous Deployment
Obrigado!
Dúvidas?
welington@wztecnologia.com.br
#ALMRoadShow

Continuous Deployment

Notas do Editor

  • #6 Descrever um cenário de desenvolvimento de software Waterfall com planejamento, desenvolvimento, levantamento e entrega Caos na publicação
  • #7 Métodos Ágeis Foco na entrega e não no processo Maior retorno de valor Valor para o cliente é igual a software em PRODUÇÃO Ciclos iterativos e incrementais
  • #8 Métodos Ágeis Foco na entrega e não no processo Maior retorno de valor Valor para o cliente é igual a software em PRODUÇÃO Ciclos iterativos e incrementais
  • #9 Descrever os aspectos da integração contínua Repositório único e integrado Integração o mais rápido possível Validação e testes executados no repositório Monitoramento
  • #10 Foco na facilidade e na rapidez da integração Porém garantindo a qualidade Testes de regras de negócios, testes de aceitação, testes de interface, testes de integração TESTES.... Devem permitir a execução rápida e isolada
  • #11 Entender os aspectos principais da entrega contínua Automação Padrões e Práticas Colaboração
  • #12 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
  • #13 Quais os principais desafios e problemas Mudanças estruturais (Banco de Dados) Garantir a Qualidade e Evitar Erros Velocidade do Processo Sistema Inoperante
  • #14 Não esquecer da necessidade do negócio A empresa pode ter um momento certo para disponibilizar Parametrização – Feature On/Off
  • #16 Recursos do Team Foundation Server pro Continuous Deployment Repositório Central TFVC GIT Integração Contínua Team Build Testes Automatizados Release Management Visual Studio Online X On-Premise