Com o lançamento de uma nova versão do Team Foundation Server sempre surge a preocupação sobre como se dará o processo de upgrade entre versões anteriores e a mais atual. Aproveitando o lançamento do CTP 1 do TFS que ocorreu ontem, vamos fazer uma simulação de upgrade para já estarmos preparados para o que virá nos próximos meses.

Configuração Inicial

Para fazer este exercício, vamos utilizar um template de máquina virtual do Windows Azure, disponível somente para quem tem uma assinatura MSDN. Os softwares instalados nesta máquina são:
* Windows Server 2012
* Visual Studio Team Foundation Server 2013
* SQL Server Express 2012 (11.0.3000.0) (informação importante)

O template desta máquina não tem uma instalação “completa” do TFS, ou seja, inicialmente somente os binários estão instalados, é preciso configurar qual o serviço do TFS que será instalado. Para nosso exemplo, segui os passos para a configuração do Application Tier do TFS com o Wizard Basic Server. Após a instalação ocorrer sem problemas, conectei-me a esta máquina via Visual Studio e criei um novo Team Project. Criei um projeto Web Básico com alguns Work Items para saber se tudo seria migrado sem problemas.

Instalação TFS 2015

Importante: Estamos falando de um produto em desenvolvimento, o que significa que muitas das informações deste post podem não se confirmar nos próximos releases da ferramenta. Esta também não é uma versão Go-Live do produto!

Instalação TFS 1

Continue a instalação clicando no botão Continue e informando o caminho de instalação do TFS. O famoso Next – Next – Finish

Instalação TFS 2

Enquanto a instalação é feita, é importante notar algumas coisas interessantes:
1. O arquivo .ISO possuí apenas 360MB. Em comparação, o .ISO do TFS 2013.4 possuí 2.5GB
2. Verifique quais são as novidades contidas neste CTP
3. Não deixe de acompanhar o roadmap de features previstas no TFS/VSO

Após a instalação dos binários ser finalizada, é necessário o reinício da máquina. Aqui desconfio que o motivo foi que fiz a instalação do TFS 2015 na mesma máquina do TFS 2013, sem desinstalá-lo primeiro.

Instalação TFS 3

Configuração TFS 2015 Application Tier

Após o reinício da máquina vamos checar como o Team Foundation Server Administration Console

Adm Console
Ops, onde está o Build Configuration? Legacy Build Configuration?? =)


Com os binários do Application Tier atualizados, vamos partir para a atualização da base de dados do TFS. Clique em Application Tier -> Configure Installed Features -> Upgrade -> Start Wizard

Upgrade Wizard

Clique em Next e informe o servidor\instancia do banco de dados onde estão presentes as bases de dados do TFS 2013 e clique em List Available Databases

Upgrade Wizard

Aqui temos a primeira surpresa durante o processo: A descrição Non-Upgradable Database na versão do banco de dados nos coloca em estado de alerta. Vamos vero que vem pela frente…

Continuando o Wizard, mantendo as configurações básicas por ser somente um teste, chegamos ao ponto de checagem das automáticas das configurações:

Upgrade Wizard

Realmente como avisado anteriormente o SQL Server Express 2012 não é compatível com a nova versão do TFS. Até o momento não foi publicado qual serão os requisitos mínimos para o TFS 2015.

No warning nos é informado que o SQL Server será atualizado para uma versão mais nova. Ok, vamos continuar o processo

Upgrade Wizard

Conforme dito anteriormente, não haviam grande quantidade de dados nos bancos da instância de TFS que estamos atualizando. A base tfs_configuration tinha em torno de 130MB e a base TFS_DefaultCollection tinha cerca de 150MB. O processo levou cerca de 10 minutos, sendo que grande parte do tempo foi gasto no upgrade do SQL Express.

Clicando em Next, outros serviços do TFS são atualizados de forma bastante rápida (cerca de 2 minutos)

Upgrade Wizard

E finalmente o processo é finalizado

Upgrade Wizard

Não se esqueça de fazer o upgrade das funcionalidades de cada projeto que foi migrado

Team Web Access


Fazendo algumas verificações rápidas, vemos que realmente o SQL Server foi atualizado para a versão 12.0.2000.8.

O team web access também já mostra diversas novidades

Team Web Access
Não se engane com o label Visual Studio Team Foundation Server 2013 ali em cima…

Conclusão

O processo de upgrade da versão 2013.4 para a versão 2015 do TFS foi bastante tranquilo neste cenário (que é bastante simples). Porém, precisamos lembrar que a compatibilidade do TFS com a versão 2014 do SQL Server deu-se somente com o upgrade 2 do TFS 2013, ou seja, para atualizar versões mais antigas do TFS para a nova versão talvez seja necessário que façamos primeiramente o upgrade do servidor de banco de dados para a versão 2014. Assim sendo, somente por garantia, caso vá fazer a instalação ou o upgrade para a versão TFS 2013 Updade 4, reflita sobre a possibilidade de instalação do SQL 2014.

Bonus

Sabe o que acontece ao tentar instalar o TFS 2012 em um servidor SQL 2014?

Bonus
Team Foundation Server requires SQL Server 2008 R2 (10.50.1600) or greater. The SQL Server instance you supplied is version 12.0.2430.0 😉

Gerson Dias