Criando uma nova Build no TFS

Tempo de leitura: menos de 1 minuto

E ai pessoal, beleza?

Diversas empresas atualmente, utilizam o Team Foundation Server (TFS), como controle de versão, as empresas pagam caro pelo licenciamento da ferramenta, entretanto, não utilizam nem 10% do potencial da ferramenta, e isso é uma realidade de, acredito eu, uns 80% do mercado.

O TFS, possui diversas outras funcionalidades, que se utilizadas da maneira correta, podem agregar muito valor ao nosso negócio, o TFS oferece por exemplo, uma maneira de gerenciarmos as tarefas de nosso time, e criar um vínculo com as alterações realizadas, nos permite trabalhar com Metodologias ágeis (como o Scrum por exemplo), outra funcionalidade interessante, é a possibilidade de gerar suas Builds através do TFS, que será o tema base deste artigo.

Mas, o que seriam essas Builds? Os builds, basicamente nos permitem gerar um novo pacote de implantação da aplicação (Similar ao F5 no Visual Studio), o TFS tenta compilar a aplicação, tenta realizar os testes, enfim, ele realiza as validações, e disponibiliza um pacote pronto para você poder implantar em seus ambientes, esse processo também, é essencial em um cenário de Integração Continua.

Existem algumas empresas que, optam por utilizar os Builds em cada Checkin realizado, pois dessa maneira, quando o Analista/Desenvolvedor realiza um Checkin, o TFS realiza um Build e, caso o build “quebre”, o checkin não é realizado.

O Processo de Criação de destes builds é bem simples, e vamos acompanhar a seguir.

Primeiramente, devemos estar conectados ao TFS, suponho que você já saiba fazer isso.. 🙂

A partir disso, vamos selecionar na Aba “Team Explorer” do TFS, e selecionar a guia de Builds, conforme imagem a baixo:

Menu TFS no Visual Studio

 

 

Após isso, veremos a imagem abaixo:

 

Team Explorer
Team Explorer

Na tela acima, podemos notar que ainda não possuímos nenhuma definição de Build, para que possamos criar uma nova Definição de Build, basta clicar em “New Build Definition”, assim, abriremos uma tela, onde podemos configurar nossa Definição de Build.

Para criar a Definição de Build, seguimos diversos passos, como serão apresentados a seguir:

Tela Inicial da Configuração de Build
Tela Inicial da Configuração de Build

Nesta tela acima, é onde realizamos as configurações iniciais, como por exemplo, definimos o Nome da Definição de Build, uma descrição, e também, opções de Enfileiramento, e para isso, temos as seguintes opções:

  • Enabled: Significa que, a definição de build, está aceitando novas builds, e as executando normalmente;
  • Paused: Significa que, a definição de build está aceitando novas builds, entretanto, não está as executando;
  • Disabled: Significa que, a definição de build não está aceitando novos enfileiramentos e não está mais sendo executada
Configuração de Trigger
Configuração de Trigger

Na tela acima, podemos configurar a maneira que as builds serão executadas, e encontramos as seguintes opções:

  • Manual: Neste caso, para que essa definição de build seja executada, será necessário o enfileiramento manual do build (Veremos mais sobre isso abaixo);
  • Continuous Integration: Neste caso, será enfileirado um novo build a cada checkin realizado, esse tipo é geralmente utilizado em ambientes de integração continua;
  • Rolling Builds: essa opção, é similar ao Continuous Integration, entretanto, seleciona uma determinada quantidade de Checkins para realizar a build;
  • Gated-Checkin: Neste caso, quando o desenvolvedor realiza um checkin, o checkin vai primeiramente para um ShelvSet com as alterações, e realiza um build, caso a build seja executada com sucesso, é realizada um merge dessas alterações para a versão correta dos códigos, caso a build não passe, o checkin é cancelado, e o analista deve corrigir a aplicação para realizar um novo checkin;
  • Scheduled: Neste caso, as builds são executadas de maneira automatizada nos dias e horários especificados.

 

Configuração de Workspace
Configuração de Workspace

Na tela acima, é onde configuramos o Workspace onde será executado o build.

Configuração do Build COntroller
Configuração do Build COntroller

Na tela acima, configuramos em qual build controller será executado o processo de build, e também, informamos onde os pacotes serão salvos.

Nota: Para que seus builds sejam realizados com o TFS, é necessário configurar um Build Controller, que nada mais é, o servidor que executará as compilações. Um build controller não necessariamente executa compilações de aplicações .Net, podemos configurar servidores de build para Java, entre outros. Veremos mais sobre como configurar um Build Controller em outro artigo.

Configuração Build Template
Configuração Build Template

Na tela acima, realizamos as demais configurações, como por exemplo, quais projetos farão parte deste build (Vide imagem abaixo), podemos definir a execução de testes automatizados, podemos também, configurar qual build agent será utilizado.

Nota: Além dos Build Controllers, temos também os Build Agents, que são responsáveis pela execução dos builds, podemos parametrizar dentro de um build agent, alguma TAG para identifica-lo, e forçar nossa  build Definition sempre ser executada por determinado build agente. Isso é muito utilizado, por exemplo, quanto temos um servidor especifico para aplicações JAVA, então incluímos uma TAG para realizar essa identificação.

Tela de Seleção de Projetos para Build
Tela de Seleção de Projetos para Build

Bom, basicamente nossa definição de build está pronta para ser executada, para executá-la, vá mais uma vez a tela de Builds no Team Explorer (Mostrada anteriormente), e desta vez, poderemos notar que existe uma nova build disponível para enfileiramento, conforme mostra a imagem abaixo:

Team Explorer Agora com uma Build
Team Explorer Agora com uma Build

Para enfileirar uma nova build, vamos clicar com o botão direito do Mouse, e selcionar “Queue New Build”, e será apresentada a seguinte tela, que basta clicarmos Queue, e o procedimento será iniciado:

Enfileirando uma nova Build
Enfileirando uma nova Build

 

Podemos acompanhar todo o processo de execução da tela de build

 

Acompanhando execução da Build
Acompanhando execução da Build

Bom pessoal, é isso, espero que seja útil.

Em breve postarei mais artigos para vocês.. 🙂