Continuous Delivery com TFS e Release Management for Visual Studio 2013

36
SESSÃO: DESENVOLVIMENTO TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT © 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft. MVP ShowCast 2013 Continuous Delivery com TFS e InRelease André Dias Visual Studio ALM CQO - Chief Quality Officer – BR Soluções Integradas @AndreDiasBR

description

Palestra realizada durante o MVP Show Cast 2013 abordando assuntos como Continuous Delivery, TFS, Release Management (antigo InRelease).

Transcript of Continuous Delivery com TFS e Release Management for Visual Studio 2013

Page 1: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Continuous Delivery com TFS e InRelease

André Dias

Visual Studio ALM

CQO - Chief Quality Officer – BR Soluções Integradas

@AndreDiasBR

Page 2: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

MVP ShowCast 2013

Continuous Delivery com TFS e InRelease Release Management for Visual Studio 2013

André Dias

Visual Studio ALM

CQO - Chief Quality Officer – BR Soluções Integradas

@AndreDiasBR

Page 3: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

André Dias

♦1º ALM Ranger da América Latina♦CQO – BR Soluções Integradas♦Foi consultor de ALM da Microsoft Brasil (MCS)♦Atuou em projetos em Dublin para o Governo da Irlanda ♦16 anos de experiência com Desenvolvimento de SW

Page 4: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Onde aprender ALM?

♦Academia Virtual (MVA) Certificação TFS♦http://

www.microsoftvirtualacademy.com/training-courses/guia-de-estudo-certifica-o-tfs-2012-70-496-

♦Academia Virtual (MVA) Testes♦http://

www.microsoftvirtualacademy.com/training-courses/visual-studio-para-teste-de-software

♦Comunidade ALM Online♦https://www.facebook.com/groups/almonline/

♦Comunidade ALM Brasil♦http://www.almbrasil.com.br/

♦Onde aprender ALM na Faixa?♦http://blog.andredias.net/onde-aprender-alm-na-faixa/

♦Blog André Dias♦http://blog.andredias.net

Page 5: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Agenda

DemosApresentando Release Management for Visual Studio 2013

Uma visão geral de como o Deployment era feito antes do RM for VS 2013

Entender a diferença entre as práticas de Build e Deployment

Page 6: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Agenda

DemosApresentando Release Management for Visual Studio 2013

Uma visão geral de como o Deployment era feito antes do RM for VS 2013

Entender a diferença entre as práticas de Build e Deployment

Page 7: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Page 8: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Build

Build

Ferramentas

Developer

♦Compilação do Código♦Transformação do código fonte em binário

♦F5 do Visual Studio♦Exemplos: MSBuild, NAnt, Ant

Page 9: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Build Server

Build

Ferramentas

Developer

♦Servidor Dedicado para Build♦Compilação do Código do Time♦Obtém o fonte de um controlador de versão♦Independência de Pessoas e Estações de

Trabalho♦Melhora o Gerenc. de Dependências♦Permite Agendamento de Builds♦Sistema de Relatórios♦Mecanismo de Eventos

Page 10: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Continuous Integration

Build

Práticas

Developer

♦Precisa de um Build Server♦Disparo Automático de Build a cada

alteração de código♦Foco em encontrar erros de integração o

mais cedo possível♦Build Rápida e Auto Testável♦Incentiva Commits Frequentes ♦Facilidade em obter os binários

Page 11: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

uma

PAUSApara reflexão

Page 12: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Meu software está

Integrado, Compilado, Testado e Sem Bugs

Conhecidosmas até entrar em produção

seu Business Value = 0

Page 13: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Continuous Deployment

Deployment

Práticas

IT

♦Um passo além da CI♦Evitar estoque de código♦Foco em reduzir o “Cycle Time”♦Cada commit implanta uma nova build em

produção♦Pipeline 100% Automatizado♦Requer diversos tipos de testes e alto

percentual de cobertura

Page 14: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

outra

PAUSApara reflexão

Page 15: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Será que é isso mesmo que eu quero?

Page 16: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Quantas versões do meu produto eu terei

que suportar?

Page 17: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Como que fica o plano de Marketing e Treinamento alinhado com Entregas

Frequentes?

Page 18: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Por outro lado, eu vou atender os Early Adopters, Melhorar o Feedback e a

Implantação é 100% automatizada

Page 19: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Não dá pra colocar um controle nesse tal de

Continuous Deployment e eu decido quando vai ou

não para produção?

Page 20: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Continuous Delivery

O estado da arte

Page 21: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Entendendo a diferença

Continuous Delivery

Deployment

Práticas

Business

♦É o Continuous Deployment alinhado com a Estratégia da Empresa

♦Ambiente de produção a um clique de distância

♦Confia na automação e na colaboração de todos os envolvidos (Dev, Tester, DBA, SysAdmins, Usuários, Stakeholders)

Page 22: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

É isso!Quero Continuous Delivery implantado na empresa até

semana que vem!

Page 23: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Lembre-se

Continuous Delivery é a etapa final de uma “Cadeia Ágil”

Se a base da cadeia não estiver bem estabelecida, CD vai mais

atrapalhar do que ajudar.

Page 24: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Agenda

DemosApresentando Release Management for Visual Studio 2013

Uma visão geral de como o Deployment era feito antes do RM for VS 2013

Entender a diferença entre as práticas de Build e Deployment

Page 25: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Como fazemos Deployment hoje?

♦Toneladas de Scripts♦MSBuild♦MSDeploy♦Powershell♦.BAT♦MSBuild Extensions♦Team Build Extensions♦ALM Rangers Build Customization Guidance♦Customização de Build Process Template

Page 26: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

E com o Release Management for VS2013?

♦Você aproveita tudo o que você já sabe. Porém, fica muito mais simples!

♦Eles apenas encapsula e integra tudo o que temos disponível hoje.

♦Adiciona um workflow para controlar a promoção das builds entre os ambientes.

♦E o melhor, sem precisar escrever uma linha de código!

Page 27: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

E com o Release Management for VS2013?

Release Management forVisual Studio 2013

Page 28: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Agenda

DemosApresentando Release Management for Visual Studio 2013

Uma visão geral de como o Deployment era feito antes do RM for VS 2013

Entender a diferença entre as práticas de Build e Deployment

Page 29: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Release Management for VS 2013

♦Ferramenta para Gestão de Servidores, Ambientes, Componentes, Fluxos de Implantação, Fluxos de Aprovação e Deployments.

♦Antigo InRelease♦Produto comprado recentemente pela Microsoft♦Ainda não está bem integrado ao TFS

♦Instalação a parte, contas e permissões espalhadas, configurações duplicadas, UX não padronizada

♦Mas ainda assim é melhor do que tudo que temos atualmente.

Page 30: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Topologia Release Management

♦Release Management Client for Visual Studio 2013♦Cliente WPF para operar o Release Management. É a interface comum

utilizada por todos os usuários envolvidos no deployment pipeline.

♦Release Management Server for Team Foundation Server 2013♦É o coração do Release Management. É uma combinação de Web +

Windows Services que expoe os serviços utilizados por outros componentes.

♦Microsoft Deployment Agent 2013♦Serviço instalado nos servidores onde a solução será implantada.

♦Deployment Agent Tools♦Ferramentas auxiliares para encapsular Scripts de Criação de Sites, Cópia

de Arquivos, Iniciar VMs no Azure, entre outros.

Page 31: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Topologia Release Management

Page 32: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Topologia Release Management

Page 33: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Agenda

DemosApresentando Release Management for Visual Studio 2013

Uma visão geral de como o Deployment era feito antes do RM for VS 2013

Entender a diferença entre as práticas de Build e Deployment

Page 34: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Roteiro

♦Apresentar o Release Management for Visual Studio 2013♦Criar uma Definição de Build♦Definir um Pipeline de Implantação♦Configurar os Componentes do Pipeline (Site, Banco, etc)♦Criar um Site no IIS♦Mudar o Web.Config para Cada Ambiente♦Promover a Build entre Ambientes sem uma linha de código

Page 35: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Demos

Page 36: Continuous Delivery com TFS e Release Management for Visual Studio 2013

SESSÃO: DESENVOLVIMENTO

TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT

© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.

Perguntas & Respostas