TFS Build

20 views
Skip to first unread message

DiogoKN

unread,
Apr 3, 2012, 7:07:42 PM4/3/12
to ALM Brasil
Pessoal,

Qual são as principais vantagens do Build no TFS? Preciso justificar o
investimento e gostaria muito da opnião de vocês.

Obrigado,
Diogo

Leandro Prado

unread,
Apr 3, 2012, 7:18:12 PM4/3/12
to almb...@googlegroups.com
na minha opinião os benefícios são:

execução dos testes no build
continuos integration para verificar se  a aplicação quebrou
build/publicação automatizado

att,
Leandro Prado


2012/4/3 DiogoKN <dio...@gmail.com>



--
-------------------------
Leandro Silveira Prado
www.leandroprado.com.br
Fone:41-9949-1144

André Dias

unread,
Apr 5, 2012, 5:08:43 PM4/5/12
to almb...@googlegroups.com

A lista é longa:

 

·         Independência de pessoas e estações de desenvolvimento

o   Qualquer pessoa com permissão pode gerar a build com apenas um click. Você não fica dependendo de apenas uma pessoa que tem a máquina configurada para gerar a build;

·         Melhora as práticas de versionamento de código

o   É muito comum o código compilar na máquina do desenvolvedor, mas quando vai pro build server, não funciona de jeito nenhum. Isso normalmente ocorre devido a um gerenciamento de dependências ruim.

o   Como no build server é uma máquina independente e ele compila o código que está no servidor, automaticamente você será obrigado e melhorar sua estratégia de versionamento para garantir que a sua build rode em qq máquina, inclusive, no servidor de build;

o   Outro ganho que você terá aqui, é que sempre que um programador novo entrar no seu time, a chance dele fazer um get latest version no projeto e compilar de primeira será altíssima.

·         Integração Contínua

o   A cada check-in você poderá:

§  Executar testes de automatizados (inclusive de UI) garantindo que as funcionalidades existentes não sejam quebradas (teste de regressão)

§  Ligar o Code Coverage e saber o percentual de código que os testes estão cobrindo

§  Validar a arquitetura da sua aplicação e garantir por exemplo que a camada de apresentação não faça acesso direto ao banco de dados

§  Execução de análise de código estática

·         Relatórios

o   Diversos relatórios cruzando informações sobre qualidade, build, bugs são gerados automaticamente pelo simples fato de você utilizar o Team Build;

·         Políticas de check-in

o   Você pode impedir que o programador suba um código para o controlador de versão caso a build esteja quebrada. Isso evita que uma build ruim, fique ainda pior.

·         Notificação por e-mail

o   Seu time pode ser avisado toda vez que uma build for executada, falhar, ou mesmo ser promovida para ambientes de homologação / produção.

·         Agendamento de Builds

o   Com esse recurso, você pode usar a prática de build noturna e com isso quando o programador chegar para trabalhar pela manhã, já saberá se a build está estável ou se tem algo para corrigir do dia anterior;

·         Gated Check-in

o   Recurso muito bacana que permite bloquear o check-in do programador caso a build falhe, seja por problemas de compilação, testes, arquitetura ou qq outro motivo.

·         Automação de Deployment

o   Você pode estender o Team Build para usar frameworks como o MSBuild e MSDeploy para implantar o seu site em homologação/produção e atualizar o seu banco de dados com apenas um click;

·         Rastreabilidade

o   Toda vez que você gera uma build, o Team Build automaticamente identifica quais changesets e work items foram incluídas na build. Com isso você consegue saber que na build XYZ, o caso de uso Cadastrar cliente foi incluído e os arquivos a.cs e b.cs foram modificados. Isso ajuda a atender práticas de CM requeridas pelo CMMi,  MPS.br, ITIL, etc.

·         Integração com o Microsoft Test Manager

o   Se você utilizar o MTM, o seu tester assim que identificar que uma nova build foi gerada, ele saberá que BUGs ele precisa verificar e quais planos de testes foram afetados e precisam ser retestados.

·         Gerenciamento de Builds

o   A partir  de um console de gerenciamento, você consegue saber quais builds estão em ambientes de homologação, produção, etc.

·         Aplicação de label automático;

o   Você não precisa se preocupar em aplicar labels no seu código fonte. O team build já faz isso pra vc e caso você queria alterar um código que está em produção, basta criar uma branch da label que o Team Build gerou.

·         Totalmente extensível

o   Se nada disso acima te atender, você pode ir além e estender o workflow, eventos, e tudo mais que você imaginar J

 

Espero ter ajudado com a sua justificativa.

 

Abraços

 

André Dias

ALM Ranger, ALM MVP

@AndreDiasBR

Reply all
Reply to author
Forward
0 new messages