[TFS 2015] – Como configurar o build vNext

Após alguns meses sem postar nada (o tempo está corrido viu… ), eis que o blog retorna com um post sobre uma das mais esperadas novidades do TFS 2015, o Build vNext.

O Build vNext vem substituir o processo antigo, onde tinhamos os Build Controllers e Build Agents e também a forma que configuramos os nossos Build Definitions, deixando o processo muito simples e o de fácil customização.

Antes de começar as configurações, abaixo temos uma imagem exemplificando como que ficou a nova arquitetura de Build

build-system-architecture

  • Agent Pool: Podemos utilizar os Agent Pools para para organizar e definir as permissões para os agentes de build. Todos os Pools configurados tem o escopo para todo o servidor do TFS (Application Tier) e também podemos compartilhar os Pools com diferentes Team Project Collections, ou seja, resolvendo aquela limitação de um servidor de Build Controller por Collection que tinhamos em versões anteriores do TFS.
  • Agent Queue: Os Agent Queues fornece acesso aos Agents, quando estamos configurando um Build ou um Release, podemos configurar qual Queue irá ser utilizado para rodar esse processo. Todas as Queues tem o escopo para o Team Project Collection, nós podemos compartilhar Queue entre os Team Projects daquela Collection. Porém uma Queue pode referenciar apenas um Pool.
  • Agent: Os Agent é responsável por executar o Build e Release. Todo Agent está configurado para uma Agent Pool. Nessa versão temos Agents para rodar em máquinas Windows e também temos Agents para rodar em outras plataformas, como Linux e MacOS, ou seja, agora é possível rodar um build de uma plicação Java usando o Linux.

De todas essas novas funcionalidades o que mais me chamou atenção foi

  • Agents para multiplataforma, os agents agora rodam em cima de NodeJs
  • Não temos mais a limitação entre Collections e servidores de build controllers
  • O mesmo agent, serve para Build e Release

Configurando o Agent Pool

Acessar a parte administrativa do TFS (https://[URL TFS]:8080/tfs/_admin) e clicar no hub Agent pool, clicar em New Poll… adicionar o nome do Agent Pool e clicar em OK

Build_VNext_Image01

Caso a opção Auto-Provision Queue in Project Collections esteja selecionada, será criado o Agent Queue automaticamente em todas as collections.

Configurando o Agent Queue

Acessar a parte administrativa da Collection (https://[URL TFS]:8080/tfs/DefaultCollection/_admin) e clicar no hub Agent queues, clicar em New queue, selecionar a opção Use an existing pool e selecionar o Pool que já foi criado anteriormente e clicar em OK

Build_VNext_Image02

A única restrição que temos nesse modelo é que cada Pool pode ter apenas uma Queue

Configurando o Agent

Fazer o download do agent, acessar a parte administrativa da Collection (https://[URL TFS]:8080/tfs/DefaultCollection/_admin) e clicar no hub Agent queues, clicar em Download agent

Build_VNext_Image03

Para uma melhor organização, eu criei uma pasta C:\agentes onde vou manter todos meus agentes.

Build_VNext_Image04

Agora basta abrir um Command Prompt como Administrador entrar no diretório do agente (C:\agentes\agent01)  e executar o arquivo ConfigureAgent.cmd será necessário informar os seguintes parâmetros:

  • Name: Nome do agente, geralmente eu coloco o mesmo nome da pasta, para facilitar o gerenciamento
  • URL: Endereço do TFS (http://vsalm:8080/tfs)
  • Agent Pool: Para qual Pool esse agente deverá responder
  • Work Folder: A pasta work serve para baixar os arquivos em tempo de execução
  • Agent as Windows Service: Temos a opção de instalar o agent com serviço do windows onde será iniciado automaticamente junto com o Windows ou deixa-lo em modo interativo, onde deveremos inicia-lo manualmente. Nesse exemplo irei utilizar como serviço do windows.

No final do processo você deverá receber a tela abaixo:

Build_VNext_Image05

Para configurar os outros agentes, deverá seguir os mesmos passos, no final poderemos ver os agentes configurados.

Build_VNext_Image06

Referência

https://www.visualstudio.com/docs/build/agents/admin

Deixe seu comentário.

Aquele abraço!

Sobre Leandro Prado

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