Dicas para melhorar o desempenho do seu Team Build

Conheça algumas dicas muito boas para melhorar a velocidade dos seus builds – cortesia de Jim Lamb, Program Manager do Team Build.

  • Reduza o escopo do seu Get ao mínimo possível – com isso você reduz o tempo de download do código-fonte. Ajuste os mapeamentos do espaço de trabalho do build para baixar apenas o essencial.
  • Reduza a verbosidade do loogger do MSBulid (o default é “diagnostic” no .NET 3.5) adicionando a seguinte chave ao seu arquivo TfsBuild.rsp: “/flp:verbosity=normal”.
  • Defina a propriedade IncrementalGet como True no arquivo TFSBuild.proj se você puder reaproveitar o código-fonte entre os builds (isto é, baixar apenas os arquivos alterados desde o último build).
  • Defina a propriedade IncrementalBuild como True se você puder reaproveitar as compilações entre os builds (isto é, recompilar apenas os arquivos alterados desde o último build).
  • Ative o suporte a multiprocessadores do MSBuild para obter uma paralelização da compilação das soluções – funciona melhor em Agentes de Build com processadores multi-core.
  • Instale o Service Pack 1 do VSTS/TFS e o Hotfix ‘TargetsNotLogged’ em seus Agentes de Build para reduzir o “ruído” nos logs de build.
  • Avalie uma eventual divisão do seu processo de build em várias definições de build. Por exemplo (a) um build incremental de integração contínua que apenas valida o último changeset sem copiar um drop (os binários resultantes do build) e (b) um build noturno, a partir do zero, que compila o mesmo label do último build de integração contínua bem-sucedido e executa um conjunto de testes automatizados.
  • Agende desfragmentações de disco em seus agentes de build. Se você faz integração contínua e builds diários, provavelmente o ideal é que você faça essa desfragmentação aos finais de semana.
  • Use máquina de build com HDs rápidos. Atualizar seu agente de build com um disco rígido mais novo e mais rápido é uma maneira relativamente barata de aumentar o desempenho do seu build. Por exemplo, a velocidade do HD WD 750 GB 7200 RPM é bem próxima à dos mais rápidos HDs mecânicos com preço abaixo de US$100.
  • Use um sistema operacional de servidor (não um workstation) para hospedar os drop folders. Por exemplo, prefira o Windows Server 2003 ao XP.
Technorati Tags: ,,,

Licenciamento do Team Build

Depois do meu post sobre a instalação do Visual Studio no servidor de build, recebi algumas perguntas a respeito. Resolvi aproveitar a deixa e esclarecer melhor o assunto de licenciamento. Lá vai:

  • Instalação de Team Editions no servidor
    • Para executar testes unitários, análise de código e afins no servidor de build, é necessário ter a Team Edition correspondente instalada no servidor de build;
      • Ex.: Para análise de código durante o build, o servidor de build deve ter a Development Edition (ou Team Suite) instalada;
    • Não é necessário adquirir licenças adicionais das Team Editions para o(s) servidor(es) de build.
      • Basta que o usuário que cria o build esteja licenciado com a Team Edition correspondente. Com isso, ele tem o direito de instalá-la no(s) servidor(es);
    • Os usuários que apenas agendam/executam builds não precisam ter Team Editions.
      • Mesmo que o build inclua por exemplo análise de código, basta observar o item acima (criador do build deve estar licenciado)
  • · Licenciamento dos servidores de build
    • Usuários do TFS podem instalar tantos servidores de build quantos quiserem. O Team Build é “gratuito”;
    • Não é necessário adquirir CALs para os servidores de build.

Se seu projeto tiver dependências em outros produtos como o Biztalk ou o SQL Server Reporting/Integration Services, precisará instalar suas versões developer (ou equivalentes).

Resumo da ópera: Se o cliente tiver comprado Team Editions para os profissionais responsáveis pela criação dos scripts de build, então não precisa de nenhuma licença adicional – nem mesmo CALs para os servidores de build.

Veja mais sobre o licenciamento do VSTS em  http://www.microsoft.com/downloads/details.aspx?FamilyID=1FA86E00-F0A3-4290-9DA9-6E0378A3A3C5&displaylang=en

 

Technorati Tags: ,,,

Preciso instalar o Visual Studio no meu servidor de build?

Mais uma da série “dúvidas comuns sobre o Team System”: Muitos clientes nos perguntam se é preciso instalar alguma versão do Visual Studio Team System no servidor de build (mais precisamente no agente de build – essa é a nomenclatura correta).

A resposta curta é: Provavelmente. A resposta completa é:

Se você pretende usar em seus builds algum dos recursos a seguir:

  • Testes em geral (unitários, web, carga etc.);
  • Análise Estática de Código (Code Analysis);
  • Testes Unitários de Banco de Dados;
  • Compilação e Implantação de Projetos de Banco de Dados.

Então você precisará instalar a versão adequada do Visual Studio no agente de build. Isso se deve ao fato de que os recursos listados acima são exclusivo do IDE, sendo “aproveitados” pelo agente no ato da execução do build. As DLLs que executam cada uma das funções acima não podem ser instaladas individualmente; para isso você deve instalar o Visual Studio, de acordo com a tabela abaixo:

Recurso Versão Necessária Testes Unitários Team Developer ou Team Tester (2005); Professional (2008) Testes em geral Test Edition Análise Estática de Código Development Edition Testes Unitários de Banco de Dados Database Edition Projetos de Banco de Dados Database Edition

Para simplificar o processo de seleção listado na tabela acima, muitos de nossos clientes preferem instalar o Team Suite nos agentes de build.

Licenciamento

Este é um ponto muito importante: Na maioria dos casos, você NÃO PRECISA COMPRAR uma licença adicional para seus agentes de build. O licenciamento segue a seguinte lógica:

“A pessoa que criar o script de build pode instalar no agente de build a mesma licença que ela tem para uso em seu próprio computador”

Em outras palavras: Se eu tiver um Visual Studio Team System Development Edition (que eu uso no dia-a-dia para desenvolvimento dos meus sistemas) e for o responsável por criar o script de build, isso me dá o direito a:

  1. Adicionar o recurso de Análise de Código (que faz parte do Development Edition) ao meu script de build;
  2. Instalar o Visual Studio Team System Development Edition (que é a licença que eu tenho em meu próprio computador) no servidor de build, sem custo adicional.

Por isso, se você quiser usar num mesmo script de build os recursos de análise de código (Development Edition), testes (Test Edition) e banco de dados (Database Edition), a pessoa que cria o script de build deve ter o Team Suite.