[TFS 2015] – Build Preview

No último post vimos que a principal feature lançada no TFS 2015 foi o Build Preview, hoje veremos como configurar um build usando essa nova feature.

Antes disso qual a motivação de criar um novo processo de build?

Há algum tempo o time do Visual Studio vem investindo nas práticas de Build e Relase, prova disso foi o lançamento do Release Management e agora a reformulação do processo de build que foi disponibilizado nas contas do VSO e agora no TFS 2015.

Quem acompanhou a evolução do build dentro TFS viu o quando a plataforma tem evoluído nesse sentido. No TFS 2008 as configurações eram feitas baseados em arquivos XMLs, a partir do TFS 2010 teve uma evolução significativa  passando a usar os arquivos XAMLs sobre o Windows Workflow Foundation levando os clientes a terem uma poderosa ferramenta para realizar o build de suas aplicações

Porém quem já passou pela experiência de customizar um Build Process Template utilizando o XAML, sabe que não é um processo muito fácil, muitas vezes difícil de dar manutenção e limitada a execução em ambientes Windows.

Com isso em mente, o time de automação de build do TFS decidiu rever todo o processo com seguintes princípios:

  1. Não criar uma nova linguagem de Build: Já existem grandes ferramentas de Build como MSBuild, Maven, Ant, PorwerShell, etc
  2. Ter uma ferramenta cross-plataform que possa criar meus builds fora do Visual Studio
  3. Criar um mecanismo para que seja extensível/open source, para que a comunidade possa participar
  4. Não esconda o meu log do Build

Para mais informações veja esse post – Build Futures

Agora vamos criar um exemplo de como o Build Preview funciona

No portal do projeto acessa a aba Build.Preview e clicar no botão adicionar

BuildPreview_image1

Selecione o tipo de template que deseja usar, por padrão temos 3 templates, nesse exemplo vamos utilizar o template Visual Studio, conforme a imagem abaixo

BuildPreview_image2

Será aberta uma nova janela com as configurações do seu build com as seguintes abas:

Build: Basicamente nessa aba temos os passos que nosso build deverá seguir, nesse caso temos dois passos o Visual Studio Build e o Visual Studio Test, isso quer dizer que primeiramente vamos executar o build de nossa aplicação logo em seguida executar os testes.

Clicando sobre o passo Visual Studio Build temos que configurar a solution que queremos realizar o build, além de outras opções como recuperar uma versão especifica do source control, se queremos passar argumentos para o MSBuild, qual versão do MSBuild queremos executar, etc…

BuildPreview_image3

Options: Em qual configuração devemos compilar nossa aplicação (Debug, Release)

BuildPreview_image4

Repository: Qual o tipo do repositório onde sua aplicação está sendo controlada, TFVC ou GIT e qual o mapeamento para o diretório correto.

BuildPreview_image6

Variables: Algumas variáveis que podem ser utlizadas em seu build, por exemplo BuildConfiguration e BuildPlataform que foram utilizadas na aba Option

BuildPreview_image7

Triggers: Como o build será disparado, Continuous Integration (cada check-in), Scheduled (dia/hora), nesse exemplos vamos deixar as duas opções desmarcadas.

BuildPreview_image8

General: Qual o pool de agentes responsável por executar esse build, descrição e formato do build.

BuildPreview_image9

Retention: Qual a política para reter esse build. Essa configuração herda das configurações de build para collection ou pode ser definida uma retenção para cada build.

BuildPreview_image10

History: Histórico de alterações dessa definição de build, agora conseguimos acompanhar todas as alterações nos builds.

BuildPreview_image11

Após fazer todas as configurações clicar em Save, adicionar o nome do Build Definition e clicar em OK

BuildPreview_image12

Agora é só clicar em Queue build… e ver o resultado no console na própria página

BuildPreview_image13

Agora você deve estar se perguntado, mas e os meus vários builds que já tenho configurado usando XAML? O que eu faço?

O TFS 2015 continuará suportando, isso significa se você atualizar seu TFS para a versão 2015, tudo continuará funcionando.

Outra pergunta é, legal o build novo e como eu integro com o Release Managemente?

Para isso eu indico você ler esse post do Brian Harry, onde ele mostra que teremos uma nova aba Release no WebAcces!

Novidades e mais novidades estarão vindo nos próximos meses!

Pelos primeiros testes, particularmente eu gostei muito!

E vocês, o que vocês acharam?

Aquele abraço!

Sobre Leandro Prado

Leandro Silveira Prado é Premier Field Engineer na Microsoft especializado em Application Lifecycle Management.