O documento descreve como criar políticas de check-in e geradores de dados personalizados no Team Foundation Server. Apresenta como estender a classe PolicyBase para criar uma política de check-in personalizada e como criar um arquivo XML para registrar um novo gerador de dados.
5. O que são políticas de check-in
• Recurso do TFS
• Valida pré-requisitos para
aceitar check-in
– “Tem work item associado?”
– “Tem comentário de check-in”?
– “Rodou os testes de unidade?”
• Roda no cliente
• Suporte no VS e Eclipse
6. Políticas de check-in pré-definidas
• Nativas no TFS
– Builds
– Code Analysis
– Tests
– Work Items
• TFS Power Tools
– Changeset Comments
– Custom Path
– Forbidden Patterns
– Work Item Query
7. Política de Check-in personalizada
• Crie um projeto Class Library
• Extenda PolicyBase
Microsoft.TeamFoundation.VersionControl.Client.dll
• Marque classe como [Serializable]
• PolicyBase.Evaluate() permite examinar
– Quais arquivos estão no check-in
– Itens de trabalho associados
– Comentários de check-in
– Outras políticas de check-in
9. Instalando a política de check-in
• Visual Studio Extension • TFS Power Tools
– Criar projeto VSIX – Criar pasta
$/<Team Project>/
– Referenciar Class Library TeamProjectConfig/
com a política no VSIX CheckinPolicies no controle
– Adicionar arquivo texto de versão
<nome do projeto>.pkgdef – Adicionar DLLs com política de
– Adicionar .pkgdef como check-in à pasta do controle
Asset no projeto de versão
– Team Explorer, Team
– Compilar e distribuir VSIX Members, Personal Settings
– “Download Now”
13. Lembrete!
• Políticas são executadas no cliente
• Assembly (DLL) da política deve ser
instalada na máquina de cada
desenvolvedor
• Configurações das políticas são
armazenadas no servidor usando
serialização binária
– Todos devem ter a mesma versão da DLL
17. Instalando o gerador de dados
• Criar o arquivo <nome do projeto>.Extensions.xml
• Descrever o gerador de dados dentro do arquivo XML
• Copiar os dois arquivos (DLL, XML) para
C:Program FilesMicrosoft Visual Studio 10.0
VSTSDBExtensions
18. <nome do projeto>.Extensions.xml
<?xml version="1.0" encoding="utf-8"?>
<extensions
assembly=""
version="1"
xmlns="urn:Microsoft.Data.Schema.Extensions"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions
Microsoft.Data.Schema.Extensions.xsd">
<extension
type=“<nome do projeto>.<classe>Generator"
assembly="<nome do projeto>, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=999999999999"
enabled="true"/>
</extensions>
20. Para Saber Mais
20
• Team Foundation Server SDK
– tinyurl.com/Tfs2010Sdk
• Blog do Time de Produto
– blogs.msdn.com/VisualStudioAlm
• Fórum MSDN
– social.msdn.microsoft.com/Forums/en-US/tfsprocess/