Executar um script em seu processo de compilação

O TFBuild (Team Foundation Build) modelo padrão fornece os recursos principais de que a maioria das equipes precisa para compilar e testar seus aplicativos. Mesmo assim, a maioria dos projetos de software é exclusiva o suficiente para exigir que as equipes adicionem a própria lógica de negócios. O desenvolvimento e a manutenção de um processo de compilação personalizado podem ser complicados e caros. Mas você não precisará fazer isso se quiser apenas executar um script do PowerShell ou um arquivo em lotes (.bat) antes ou depois do sistema compilar ou testar o código.

Por exemplo, antes de compilar, você deseja definir a versão dos arquivos de assembly. Ou, depois de compilar, você desejará controlar as saídas de compilação soltas no local de preparo.

Executar scripts no processo de compilação

Parâmetros de script no modelo padrão

É possível usar o modelo padrão para executar o PowerShell e os scripts em lotes (.bat) antes e depois de compilar o código, além de antes e depois de executar os testes.

Antes do processo de compilação conseguir executar o script, você deverá primeiro carregá-lo:

Depois de carregar o script, faça referência a ele no local apropriado nos parâmetros do processo de compilação. Se necessário, também será possível fornecer argumentos para os scripts.

Exemplo de pré-compilação: criar uma versão dos assemblies

Embora existam muitas tarefas que você talvez queira realizar antes que de MSBuild compilar o código, uma das mais comuns pode ser aplicar uma versão aos assemblies.

ApplyVersionToAssemblies.ps1

Exemplo de pós-compilação: definir os binários para preparo

Quando você define Local de saída como AsConfigured, TFBuild define quais binários são soltos para você. Nesse caso, TFBuild compila os binários e os deixa no diretório de origem, organizados basicamente da mesma forma como se você usasse o Visual Studio para compilá-los localmente no computador de desenvolvimento. O script a seguir coleta alguns dos tipos binários típicos com base nos locais típicos e os copia para a pasta da qual TFBuild é copiado e solta no local de preparação.

GatherItemsForDrop.ps1

Perguntas e respostas

P: Fui bloqueado pelo sistema porque não tenho permissão.Como posso consegui-la?

R: Referência de permissões para o Team Foundation Server

P: Quais variáveis de ambiente estão disponíveis para meu script?

R: Obtenha dados de variáveis de ambiente TF_BUILD

P: Onde posso obter mais informações sobre scripts de desenvolvimento?

R: Resposta retificada: executar scripts no processo do Team Foundation Build

P: Posso executar comandos de controle da versão?

R: Sim. Aqui está um exemplo que mostra como fazer check-out e fazer check-in de um arquivo:

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkout $file

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkin $file /comment:" Checked in by build process script. ***NO_CI***" /noprompt

P: Onde posso obter scripts?

Extensões de Compilação do Community TFS

P: Os scripts não me dão controle suficiente.O que posso fazer?

Personalize o modelo do processo de compilação.