implantando continuous delivery com tfs
DESCRIPTION
Utilizando como referência o Build Customization Guide e o Template BRD Lite (Build Release Deployement) desenvolvido pelos ALM Rangers, André Dias, um dos desenvolvedores do guia, e Igor Abade, ALM MVP, demonstrarão como implantar práticas de continuous deployment. Serão vistos cenários como: implantação automática no IIS, deployment automático de banco de dados, compactação de arquivos, versionamento automático de arquivos, entre outros. Essa é uma sessão 100% prática, onde exploraremos de forma avançada a customização de todo o processo de build com demos ao vivo.TRANSCRIPT
Implantando Continuous Delivery com TFSDEV307
André Dias e Igor AbadeLambda3
3
@AndreDiasBR
4
@IgorAbade
Uma empresa nascida da comunidadeAnunciada pela 1a vez no TechEd 2010Celebrando seu 1o ano com
7 palestras no TechEd 2011Única empresa brasileira a
conquistar todos os prêmios e certificações possíveis de MS ALM
Agenda
O que é Continuous Delivery?Anti-PatternsALM RangersBuild Customization Guide
MSBuildTeam BuildWeb Deploy Build ExtensionsBRD Lite
Continuous *
ContinuousIntegration
ContinuousDeployment
ContinuousDelivery
Continuous Integration
Foco em encontrar erros de integração de código o mais cedo possível
Integração do código local com um repositório central
Build Automatizada e Auto-testável
Feature nativa do TFS
Porém…
Software integrado com sucesso ainda não é software implantado em produção fazendo o seu trabalho;
Precisamos de outras técnicas
Continuous DeploymentUm passo além da CI
Evita fazer estoque de código
Script de build é melhor, + confiável, + explícito, + auditável que papel
O mesmo script deveria implantar o software em qualquer ambiente
Melhora a qualidade de vida
Continuous Delivery
É o Continuous Deployment realizado no ambiente de Produção
Foco em reduzir o “cycle time” entre a idéia e o software usável
O software não tem valor nenhum se não estiver implantado em produção. Business Value = 0!
Recomendações
1. Se dói, faça mais frequentemente;
2. Mais importante que ter o processo de deployment automatizado é ter o processo de Rollback automatizado.
3. Quer medir algo? Meça a entrega“Working software is the primary measure of progress”, AgileManifesto
Anti-Patterns
Implantando Software Manualmente
Você sente vergonha de não conhecer design patterns?
Você se sente incomodado de escrever aplicação sem testes?
Você tem vergonha de não ser ágil?
“Você deveria ter vergonha de implantar software manualmente!”
André Dias
Se release não fosse importante…
Não era tratado como uma cerimôniaAs empresas não exigiriam um processo documentadoAs pessoas não levariam dias para fazerAs empresas não deixariam profissionais de plantão para “eventuais” problemas
“O dia da” release
Implantar em um ambiente semelhante ao de produção apenas após o desenvolvimento estar completo
Gerenciamento de Configuração Manual
demo
O que é Continuous Deployment?
André DiasLambda3
Como fica em cenários complexos?
NLB, Farms, ClustersBarramento de ServiçosIntegração com outros sistemas
ALM Rangers
ALM Rangers
Missão Acelerar a adoção do Visual Studio fornecendo soluções "alternativas" para funcionalidades e guias inexistentes
203 no Mundo, 4 no Brasil e 2 na L3
Projetos mais conhecidos:TFS 2010 Requirements Mgmt.Branching GuideBuild Customization Guide
ALM Rangers Centerhttp://tinyurl.com/almrangers
ALM Rangers Projects
Build Customization GuideDownload
Baixem esse conteúdo
+ +
+
Guidance HOL Posters
BRD LiteBuild Template
Build Customization GuideComposição
A nossa caixa de ferramentas
MSBuildTeam BuildWeb DeployTFS Build ExtensionsBuild Customization GuideMS Build Extension Pack *TFS Build Extensions Power Tool August 2011 *Web Farm Framework *
* Não será abordado nesta palestra
Demos
It’s Show TimeMSBuild, Team Build, Web Deploy e Build Extensions
Igor AbadeLambda3
demo
Como criar uma Build e Habilitar Integração Contínua Igor AbadeLambda3
demo
Customizando o Template de BuildUsando uma Activity
Igor AbadeLambda3
demo
Customizando o Template de BuildCriando uma Activity
Igor AbadeLambda3
demo
Customizando o Template de BuildDepurando uma Activity
Igor AbadeLambda3
demo
Customizando o Template de BuildUsando Web Deploy
Igor AbadeLambda3
demo
Customizando o Template de BuildUsando TFS Build Extensions
Igor AbadeLambda3
BRD Lite
BRD = Build, Release and DeployAinda não é um produto. É um guia!É um novo template de BuildEle permite:
Fazer deployment no IIS;Compactar arquivos;Enviar e-mailsGerar MSIVersionar e Assinar AssembliesRodar StyleCop
BRD Lite
I am interested in BRD Lite
Know Custom Activities?
Team Build expert?
Familiar with BRD Lite?
I would like to know how to …
Read section “Automating build and non-build scenarios” of this guide.
Read section “Empowering developers and build engineers with build activities” of this guide.
Walk through the HOL: “Setting Up and Using the BRDLite Template”
USEIT!
Contact the Build Customization Guide Team for Assistance
Extend it?
Use it?
Branch?
NO
NO
NO
YES
YES
YES
YES
YES
YES
NO
NO
NO
demo
Usando BRD Lite
André DiasLambda3
Leitura Recomendada
Palestras RelacionadasDEV308 | Integração entre EPM e ALM
DEV310 | Visual Studio vNext a nova geração
INT306 | Ciclo de Vida de Aplicações (ALM) em ambientes heterogêneos
SUP408 | Identificando e resolvendo problemas de performance com Microsoft Visual Studio Ultimate
Palestras RelacionadasQS14 | Team Foundation Server 2010 para todos
DEV304 | C# e Visual Basic Future: Async Made Simple
DEV301 | Construindo aplicações de negócio com Microsoft Visual Studio LightSwitch
DEV309 | Entendiendo su sistema con las herramientas de Arquitectura de Microsoft Visual Studio 2010
Recursos
Recursos para IT Pros
Recursos para Desenvolvedores
http://technet.microsoft.com/pt-br
http://msdn.microsoft.com/pt-br
Getthefreemobileappforyourphone
http://gettag.mobi
Getthefreemobileappforyourphone
http://gettag.mobi
Não esqueça de preencher sua
avaliação onlinewww.teched.com.br/
avaliacao
Getthefreemobileappforyourphone
http://gettag.mobi
“Life is too short to spend our weekends in server rooms deploying applications.”
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.