implantando continuous delivery com tfs

45

Upload: andre-dias

Post on 06-Jun-2015

2.864 views

Category:

Technology


5 download

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

Page 1: Implantando Continuous Delivery com TFS
Page 2: Implantando Continuous Delivery com TFS

Implantando Continuous Delivery com TFSDEV307

André Dias e Igor AbadeLambda3

Page 3: Implantando Continuous Delivery com TFS

3

@AndreDiasBR

Page 4: Implantando Continuous Delivery com TFS

4

@IgorAbade

Page 5: Implantando Continuous Delivery com TFS

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

Page 6: Implantando Continuous Delivery com TFS

Agenda

O que é Continuous Delivery?Anti-PatternsALM RangersBuild Customization Guide

MSBuildTeam BuildWeb Deploy Build ExtensionsBRD Lite

Page 7: Implantando Continuous Delivery com TFS

Continuous *

ContinuousIntegration

ContinuousDeployment

ContinuousDelivery

Page 8: Implantando Continuous Delivery com TFS

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

Page 9: Implantando Continuous Delivery com TFS

Porém…

Software integrado com sucesso ainda não é software implantado em produção fazendo o seu trabalho;

Precisamos de outras técnicas

Page 10: Implantando Continuous Delivery com TFS

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

Page 11: Implantando Continuous Delivery com TFS

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!

Page 12: Implantando Continuous Delivery com TFS

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

Page 13: Implantando Continuous Delivery com TFS

Anti-Patterns

Page 14: Implantando Continuous Delivery com TFS

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

Page 15: Implantando Continuous Delivery com TFS

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

Page 16: Implantando Continuous Delivery com TFS

“O dia da” release

Page 17: Implantando Continuous Delivery com TFS

Implantar em um ambiente semelhante ao de produção apenas após o desenvolvimento estar completo

Page 18: Implantando Continuous Delivery com TFS

Gerenciamento de Configuração Manual

Page 19: Implantando Continuous Delivery com TFS

demo

O que é Continuous Deployment?

André DiasLambda3

Page 20: Implantando Continuous Delivery com TFS

Como fica em cenários complexos?

NLB, Farms, ClustersBarramento de ServiçosIntegração com outros sistemas

Page 21: Implantando Continuous Delivery com TFS

ALM Rangers

Page 22: Implantando Continuous Delivery com TFS

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

Page 23: Implantando Continuous Delivery com TFS

ALM Rangers Centerhttp://tinyurl.com/almrangers

Page 24: Implantando Continuous Delivery com TFS

ALM Rangers Projects

Page 25: Implantando Continuous Delivery com TFS

Build Customization GuideDownload

Baixem esse conteúdo

Page 26: Implantando Continuous Delivery com TFS

+ +

+

Guidance HOL Posters

BRD LiteBuild Template

Build Customization GuideComposição

Page 27: Implantando Continuous Delivery com TFS

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

Page 28: Implantando Continuous Delivery com TFS

Demos

It’s Show TimeMSBuild, Team Build, Web Deploy e Build Extensions

Igor AbadeLambda3

Page 29: Implantando Continuous Delivery com TFS

demo

Como criar uma Build e Habilitar Integração Contínua Igor AbadeLambda3

Page 30: Implantando Continuous Delivery com TFS

demo

Customizando o Template de BuildUsando uma Activity

Igor AbadeLambda3

Page 31: Implantando Continuous Delivery com TFS

demo

Customizando o Template de BuildCriando uma Activity

Igor AbadeLambda3

Page 32: Implantando Continuous Delivery com TFS

demo

Customizando o Template de BuildDepurando uma Activity

Igor AbadeLambda3

Page 33: Implantando Continuous Delivery com TFS

demo

Customizando o Template de BuildUsando Web Deploy

Igor AbadeLambda3

Page 34: Implantando Continuous Delivery com TFS

demo

Customizando o Template de BuildUsando TFS Build Extensions

Igor AbadeLambda3

Page 35: Implantando Continuous Delivery com TFS

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

Page 36: Implantando Continuous Delivery com TFS

BRD Lite

Page 37: Implantando Continuous Delivery com TFS

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

Page 38: Implantando Continuous Delivery com TFS

demo

Usando BRD Lite

André DiasLambda3

Page 39: Implantando Continuous Delivery com TFS

Leitura Recomendada

Page 40: Implantando Continuous Delivery com TFS

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

Page 41: Implantando Continuous Delivery com TFS

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

Page 42: Implantando Continuous Delivery com TFS

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

Page 43: Implantando Continuous Delivery com TFS

Não esqueça de preencher sua

avaliação onlinewww.teched.com.br/

avaliacao

Getthefreemobileappforyourphone

http://gettag.mobi

Page 44: Implantando Continuous Delivery com TFS

“Life is too short to spend our weekends in server rooms deploying applications.”

Page 45: Implantando Continuous Delivery com TFS

© 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.