continuous delivery com tfs e release management for visual studio 2013
DESCRIPTION
Palestra realizada durante o MVP Show Cast 2013 abordando assuntos como Continuous Delivery, TFS, Release Management (antigo InRelease).TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
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?
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?
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
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?
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
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)
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!
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.
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
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
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!
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
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
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.
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.
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
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
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
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
SESSÃO: DESENVOLVIMENTO
TRILHA: GERENCIAMENTO DE PROJETOS & APPLICATION LIFECYCLE MANAGEMENT
© 2013, MVP ShowCast. Evento organizado por MVPs do Brasil com apoio da Microsoft.
Demos
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