29/04/2008 | Autor: Igor Abade V. Leite | Categoria: Técnico | Comentários

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 ou . 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!