Disclaimer 1: Essa série de posts não deve ser utilizado como guia
para planejar o deployment do Team Foundation Server. Para documentação oficial
sobre instalação utilize o TFS Installation Guide, que pode ser encontrado em:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24337

Disclaimer 2: Essa série de posts tem foco na instalação e
configuração do Team Foundation Server. Serão instalados diversos servidores,
roles, features e serviços (SQL Server, SharePoint, etc...). Para melhores
práticas sobre instalação de cada um dos componentes visite a documentação
oficial.

No Team Foundation Server 2010 foi investido muito para criar um produto que fosse escalável. Vocês podem ter uma ideia disso em um post do Brian Harry mostrando dados sobre  o uso do Team Foundation Server na Divisão de
Desenvolvimento (DevDiv) da Microsoft: http://blogs.msdn.com/b/bharry/archive/2011/06/02/team-foundation-server-dogfooding-update-may-2011.aspx.

Eu pensei que seria interessante explorar um pouco sobre esse tópico: Team Foundation Server Enterprise Installation. Por isso estou escrevendo uma série de posts sobre o assunto.Outro ponto é que as vezes precisamos fazer alguns testes e ter tudo em uma máquina não simula um cenário real.

Por enquanto vamos simplesmente instalar: SQL Server, SharePoint e TFS. Na sequencia vamos deixar mais interessante, configurando o servidor de build, uma segunda camada de aplicação e utilizar Network Load-Balancing, instalar um proxy para o TFS, configurar o System Center para monitoramento do TFS e por aí vai. Tem vários experimentos legais que podem ser feitos, mas primeiro vamos instalar o básico.

Estou fazendo a instalação de toda essa solução utilizando o Hyper-V. Você pode utilizar outra solução de virtualização, eu sugiro utilizar o Hyper-V para futuramente podermos evoluir essa solução. Em algum momento faremos a instalação e configuração do Lab Management, para isso vamos precisar utilizar o Hyper-V e o System Center Virtual Machine Manager.

Eu não vou entrar em detalhes sobre a instalação de componentes que não são do Team Foundation Server, mas vou dar referências caso precise de ajuda para instalar alguns componentes como o SQL Server, Active Directory Domain Controler e outros.

O primeiro passo é instalar o servidor que eu chamei de NetworkServer. Este servidor tem as seguintes responsabilidades:

  • Active directory domain controller
  • DHCP
  • DNS

Nessa máquina virtual eu deixei um processador virtual habilitado e 1GB de memória RAM. O sistema operacional é o Windows Server 2008 R2 SP1 com as últimas atualizações do Windows Update.

Se você precisa de apoio pode utilizar a documentação oficial do Windows Server 2008 R2 que está no TechNet: http://technet.microsoft.com/pt-br/library/dd349801(WS.10).aspx. Outro recurso que eu achei bem interessante é o blog: http://www.windowsnetworking.com/articles_tutorials/running-windows-server-2008-r2-installing-creating-lab-domain-controller-part1.html . Neste blog o autor mostra passo a passo como configurar os serviços necessário. É bem didático! Eu chamei o meu domínio de tfsnetwork.com

O próximo servidor que eu vou instalar é a nossa camada de dados do TFS. Neste servidor será instalado o SQL Server 2008 R2 com os serviços de Database Engine e Analysis Services habilitado. O nome deste servidor é TFSDataTier. Ele foi configurado com 2 processadores virtuais e 2GB de memória RAM. A conta de utilizada para rodar o serviço de Database engine é tfsnetwork\sqlserverDBEngine e para o Analysis Services é sqlserverAS.  O sistema operacional deste servidor é o Windows Server 2008 R2 SP1 com as últimas atualizações do Windows Update. Para apoio durante a instalação do SQL Server você pode consultar este site: http://msdn.microsoft.com/pt-br/library/ms143219.aspx.

Ao fim da instalação deste servidor é importante lembrar de hailitar o protocolo TCP/IP no SQL Server e também de liberar o SQL Server no firewall do Windows. Aqui tem um guia de como liberar o SQL Server no Firewall do Windows: http://msdn.microsoft.com/en-us/library/cc646023.aspx .

Com o SQL Server instalado é hora de partir para o nosso primeiro servidor do TFS. Vamos chamar esse server de TFSAppTier1. Este servidor também foi configurado com 2 processadores virtuais e 2GB de memória RAM. Futuramente teremos um segundo servidor na nossa camada de aplicação. Assim como nos outros instalei o Windows 2008 R2 com SP1 e as últimas atualizações do Windows Update.

Antes de instalar o primeiro servidor da camada de aplicação do TFS vamos criar os usuários necessários para rodar os serviços do TFS. Os seguintes usuários devem ser criados no nosso domínio:

  • TFSServices
  • TFSReports

Outro passo antes de instalar o TFS é instalar o Reporting Services. O motivo de estarmos instalando o Reporting Services no servidor de aplicação do TFS é que o TFS requer um Reporting Services  dedicado. Um cenário comum é instalar o a camada de dados em um SQL Server corporativo, porém não pode ser compartilhado o Reporting Services. Por isso muitas empresas acabam optando por instalar o Reporting Services na camada de aplicação ou um servidor dedicado do Reporting Services. Para informações detalhadas sobre como instalar e configurar o Reporting Services para o Team Foundation Server você pode dar uma olhada nesse link: http://msdn.microsoft.com/en-us/library/dd578652.aspx. Eu vou dar o nome de TFSReporting para a minha instância, e o usuário do serviço será o TFSReports.

Hora de instalar o TFS? Ainda não! :)
Agora vamos instalar o SharePoint. Para economizar o número de máquinas virtuais vou instalá-lo na mesma máquina do nosso servidor de aplicação e utilizar o nosso SQL Server do TFSDataTier. Vamos imaginar que este SharePoint é corporativo, ou seja,  ele é compartilhado e não exclusivo do TFS. Só vou utilizar a mesma máquina virtual por preguiça de instalar mais um Windows Server. :)

Vou criar um usuário no domínio chamado SharePointService e vou utilizar este usuário para configurar o nosso SharePoint. Neste momento em que estou fazendo a instalação eu estou conectando em uma placa 3G, por isso não vou conseguir conectar à internet pela minha máquina virtual. Você tem duas opções - conifgurar a sua máquina virtual para acessar a internet: http://technet.microsoft.com/en-us/library/cc816585(WS.10).aspx ou instalar os pré requisitos do SharePoint offline: http://blogs.msdn.com/b/mcsnoiwb/archive/2010/06/07/installing-sharepoint-2010-prerequisites-offline.aspx. Outro ponto importante é que na instalação padrão do SharePoint ele vai instalar um SQL Server 2008 R2 Express.

Nós não queremos isso, nós queremos utilizar o TFSDataTier\SQLServer, por isso precisamos utilizar a opção Server Farm na instalação do SharePoint. Para ajuda na instalação do SharePoint acesse: http://technet.microsoft.com/en-us/sharepoint/ee263917 .

Finalmente!!! Hora de começar a mexer com o Team Foundation Server.

Vou montar a iso de instalação do TSF na máquina virtual e começar o trabalho. Vou instalar a versão x64 do TFS. A instalação é padrão, o único detalhe é que vamos instalar somente dois componentes nesse momento: Team Foundation Server e Extensions for SharePoint Products and Technologies.:


 

É isso aí, depois de alguns minutos, TFS instalado:


Com o TFS instalado eu já vou instalar o Service pack 1 (http://www.microsoft.com/download/en/details.aspx?id=20506)

Hora de configurar o TFS. Vamos escolher para configurar utilizando a
opção Advanced

Próximo passo é indicar o nosso servidor de banco de dados e testar a conexão:

Agora colocamos a conta de serviço do TFS, no meu caso chama-se TFSServices:

Vou manter a configuração padrão do website que será criado no IIS:


Na próxima tela mantenha selecionado Configure Reporting for Team Foundation Server e clique em next.

O instalador do TFS já detectou a minha instância do Reporting Services rodando. Só cliquei em Populate URLs e tudo certo, basta clicar em Next.

Agora precisamos indicar qual o servidor com o Analysis Services. No meu caso é o mesmo da base operacional:



Para acessar os relatórios vou utilizar a própria conta do Reporting Services:



Tendo configurado o relatório, agora vamos manter a opção Configure SharePoint for use with Team Foundation Server e clicamos em Next.

Novamente, como estamos rodando o SharePoint no mesmo servidor que está sendo configurado, o instalador já conseguiu detectá-lo. É importante lembrar de criar uma nova Application no SharePoint, caso contrário obterá um erro nesse passo:



Agora mantemos marcada a opção Create a new Team Project Collection e clicamos em next. Next novamente para executar o nosso readiness check.

Se tudo tiver dado certo para você também, basta clicar em configure..... É isso aí, TFS configurado:

O próximo passo é configurar o nosso servidor de build, mas isso fica para o próximo post. A chuva está parando e eu vou aproveitar para correr em Copacabana! :)

PS1.: Os próximos posts não serão tão extensos. Nesse primeiro passo tivemos que instalar diversos componentes antes de chegar no TFS.

PS2.: Vou instalar os hotfixes e updates do TFS daqui há alguns posts, quando já tivermos servidor de build, o segundo servidor de aplicação e o proxy.

Abraço, Daniel!