Integração TFS – CA Harvest

Recentemente, participei do processo de adoção do TFS em um grande banco brasileiro. A equipe do projeto gostaria de utilizar o Team System – e em especial o TFS – para melhorar seu processo de desenvolvimento de software. Todos os envolvidos já conheciam a ferramenta e tinham ciência dos ganhos de produtividade e visibilidade oferecidos. Excelente, não?

Mas como nada na vida é tão simples assim, eles tinham um porém: o banco já havia adotado algumas ferramentas da Computer Associates (CA) para gestão do ciclo de vida. Essa decisão se deu, em parte, pela necessidade de integração com o mainframe. Dentre essas ferramentas, destaque para o CA Software Change Manager (anteriormente chamado de Harvest). Como o Harvest é a ferramenta de controle de versão "oficial" do banco, nosso desafio era integrar o TFS e o Harvest.

A solução

No cenário definido pelo banco, não havia a exigência de que toda e qualquer versão do código-fonte fosse mantida no servidor do Harvest. Ou seja, como o TFS oferece um controle de versão seguro e auditável, poderia ser usado durante toda a fase de desenvolvimento, sem precisar "conversar" com o Harvest. A integração se daria apenas nos milestones definidos pela equipe de projeto – ou seja, quando fossem "gerar um pacote" (ou "fechar uma baseline") para que as equipes de teste e homologação pudessem testar o produto.

Com esse requisito, a solução desenvolvida utilizou o Team Build para "fechar o pacote". Através de um conjunto de custom tasks do MSBuild, foi possível criar scripts de build que, de forma simples, interagiam com o Harvest.

Essas custom tasks encapsulam a API COM do Harvest (CHSDK), de modo que seu script pode conter tags tais como <Harvest.CheckIn> ou <Harvest.CreatePackage>. Simples assim :).

CodePlex!

Minha intenção é publicar esse código no CodePlex (assim que definirmos as questões legais e de licença do código-fonte). Avisarei aqui no blog quando tiver novidades. Fique atento!

Autor: Igor Abade

Igor Abade V. Leite ([email protected]) é Microsoft MVP (Most Valuable Professional) de Visual Studio ALM desde 2006. Palestrante em diversos eventos da comunidade de desenvolvimento de software (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON e outros), é também autor de artigos em revistas e sites como o MSDN Brasil. Desde março de 2011 é um dos sócios da Lambda3, uma consultoria especializada em ALM, desenvolvimento de software e treinamentos. Visite seu blog sobre VS ALM em http://www.tshooter.com.br/ e siga-o no Twitter @igorabade.

Deixe seu comentário!