Personalizar seu modelo de processo de compilação

Se precisar que o processo de compilação faça mais do que o modelo padrão pode fazer, você poderá personalizar o modelo do processo de compilação para seguir as próprias instruções do WWF (Windows Workflow Foundation). As instruções podem executar o código do .NET Framework implementado em objetos CodeActivity. É possível executar atividades compiladas em Team Foundation Build (TFBuild), oferecido por terceiros ou, se necessário, compiladas por você.

Dica

Se a funcionalidade do processo de compilação personalizada puder ser codificada em um arquivo em lotes do Windows ou em um script do PowerShell, será possível carregar o script e executá-lo como parte do processo de compilação.Essa abordagem pode ser mais rápida e mais simples do que a criação de um processo de compilação personalizado.Consulte Executar um script em seu processo de compilação.

  • Iniciar uma solução do processo de compilação personalizada e criar um modelo

  • Usar um modelo personalizado na definição de compilação

  • Obter respostas para perguntas comuns

Iniciar uma solução do processo de compilação personalizada e criar um modelo

Antes de implementar as instruções, extraia uma cópia do modelo padrão do servidor do Team Foundation e adicione-a a um projeto de código do Visual Basic.

Importante

Você está trabalhando em um Ícone de GitProjeto da equipe Git?Você pretende carregar binários de atividade do processo de compilação?Nesse caso, o armazenamento de binários (especialmente muitas revisões em arquivos grandes) pode aumentar o tamanho do repositório Git.Recomendamos que você armazene os binários de processo da compilação personalizados em um repositório separado do código a partir do qual você compila seu aplicativo.É possível criar um projeto separado do projeto da equipe para os processos de compilação ou criar um repositório adicional no projeto da equipe existente.

  1. Conecte-se (teclado: CTRL + 0, C) ao projeto da equipe (e, se apropriado, ao Ícone de Git repositório Git) onde você pretende armazenar a origem do processo de compilação.

  2. Crie um novo projeto de código (teclado: Ctrl + Shift + N).

    Especificamente, crie uma nova solução (por exemplo, BuildProcessSource) que contenha um novo projeto de código da biblioteca de atividades do fluxo de trabalho do Visual Basic (por exemplo, Modelos). Adicione a solução a um novo diretório no controle de versão em um local legível.

    Ícone TFVC Exemplo de TFVC: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\

    Ícone de Git Exemplo de Git: C:\Users\YourName\Source\Repos\BuildProcesses\

    Criar um projeto de código para conter o novo modelo

    Por que preciso de um projeto de código para editar meu modelo?

  3. Na página de compilações (teclado: Ctrl + 0, B), crie ou edite uma definição de compilação.

    Nova definição de compilação ou editar definição de compilação

  4. Baixe uma cópia do modelo padrão. Salvar o novo modelo na mesma pasta que contém o projeto de código criado anteriormente nesse procedimento

    Ícone TFVC Exemplo de TFVC: C:\Users\YourName\Source\Workspaces\FabrikamTFVC\BuildProcessTemplates\BuildProcessSource\Templates

    Ícone de Git Exemplo de Git: C:\Users\YourName\Source\Repos\BuildProcesses\BuildProcessSource\Templates

    Baixe o link no guia de processo de definição de compilação

    Caixa de diálogo Salvar como

  5. No gerenciador de soluções (teclado: CTRL + ALT + L), adicione o modelo ao projeto Modelos.

    Adicione o arquivo de modelo de processo de compilação para o projeto

    Adicionar item existente

    Como não precisa do arquivo Activity1.xaml, você poderá excluí-lo se quiser.

  6. Defina a propriedade Ação de Compilação do modelo como Conteúdo.

    Definir a ação de criação de conteúdo

  7. Adicione as seguintes referências ao projeto de código Modelos:

    Como posso adicionar essas referências ao projeto de código?

    Salve o projeto de código.

  8. Implemente uma mensagem “Hello World!” de forma que, depois de fazer o check-in e executar o modelo, você possa ter a certeza de que esteja tudo funcionando. Para fazer isso, arraste uma atividade WriteBuildMessage para o fluxo de trabalho e defina sua propriedade BuildMessageImportance como Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High.

    Atividade WriteBuildMessage adicionada ao modelo

  9. Salve o modelo e carregue a nova solução. Faça check-in de alterações pendentes se você estiver em Ícone TFVC TFVC (teclado: CTRL + 0, P) ou confirme (teclado CTRL + 0, G) e as envie se você estiver em Ícone de Git Git.

    Carregar as alterações usando TFVC ou Git

Usar um modelo personalizado na definição de compilação

Depois de carregar um modelo do processo de compilação personalizado no projeto de equipe conforme explicado anteriormente, você poderá usar o modelo com base nas definições de compilação.

  1. Na página de compilações (teclado: Ctrl + 0, B), crie ou edite uma definição de compilação.

  2. Na guia Processo da definição de compilação, escolha Mostrar detalhes Mostrar detalhes e Nova.

    Criar definição, guia processo, novo botão

  3. Depois que você escolher Nova:

    • TFVC: digite ou navegue até o caminho para o modelo no Team Foundation Server.

    • Git: digite ou navegue até o caminho para o modelo na máquina de desenvolvimento.

  4. Depois de especificar o caminho para o modelo, você poderá selecioná-lo na lista.

    CustomTemplate selecionada na definição de compilação

  5. Se estiver criando uma nova definição de compilação, selecione a solução que você está compilando e especifique o local de preparo e todas as outras opções necessárias. Consulte Criar ou editar uma definição de compilação. Quando você terminar, salve a definição de compilação.

  6. Na página de compilações (teclado: CTRL + 0, B), enfileire a compilação.

    Uma compilação da página de compilações de enfileiramento de mensagens

  7. Depois da conclusão da compilação, exiba os resultados para verificar se o fluxo de trabalho personalizado foi executado conforme esperado.

    Mensagem "Hello World!" aparece no log de compilação

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: Por que preciso de um projeto de código para editar meu modelo?

R: Você deve editar modelos com base em um projeto de código porque

  • Problemas poderão ocorrer quando você tentar editar um modelo fora do contexto de um projeto de código.

  • Os problemas poderão ocorrer, a menos que você desenvolva sua atividade do processo de compilação na mesma solução dos modelos do processo de compilação. Trabalhando-se dessa forma, quando precisar usar uma das atividades no modelo de processo, a atividade estará disponível na caixa de ferramentas do designer do fluxo de trabalho. Porém, você deve manter o código-fonte das atividades em um projeto de código separado daquele que contém os modelos de processo da compilação. Consulte Usar e desenvolver atividades do processo de compilação personalizado.

P: Como adiciono as referências com as quais preciso trabalhar usando o fluxo de trabalho TFBuild?

R: Use o gerenciador de referências para adicionar referências a

Exiba as referências do projeto de código e abra o gerenciador de referências.

Referências de projeto de código de modelo personalizado

Caixa de diálogo Gerenciador de referências

Navegue até C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\v2.0, selecione e adicione:

Selecione os arquivos para fazer referência a caixa de diálogo

Caixa de diálogo Gerenciador de referências

P: Posso compartilhar um modelo entre projetos de equipe?

R: Sim. É possível registrar um modelo com mais de um projeto de equipe. Esse recurso significa que é possível compartilhar um processo de compilação em qualquer projeto de equipe na coleção de projetos de equipe que contém o modelo.

P: Se eu modificar meu modelo, o que acontece com as definições de compilação que o usam?

R: Se precisar modificar um modelo, você deverá planejar examinar todas as definições de compilação com base no modelo e corrigi-las depois que tiver terminado as alterações no modelo. Se você não fizer isso, as definições de compilação poderão falhar ou funcionar de uma maneira inesperada.

P: O que acontecerá se eu excluir meu modelo de processo de compilação?

R: Se você optar por excluir um modelo de processo de compilação, primeiro não se esqueça de localizar e excluir todas as definições de compilação com base no modelo. Quando você excluir o modelo, todas as definições de compilação restantes com base no modelo deixarão de funcionar.

P: O que está causando erros em meu processo de compilação personalizado?

P: Algumas causas comuns de alguns erros:

  • TF215097: Poderá aparecer se a atividade personalizada não tiver um atributo obrigatório ou se você tentar editar o modelo no mesmo projeto de código que contém as atividades personalizadas.

  • Erro de MSBuild XC1014: Poderá ser exibido se você não definir a Ação de Compilação do modelo como Conteúdo.

Se você receber um dos erros acima, verifique se não ignorou uma das etapas dos procedimentos anteriores.

Você talvez também ache este tópico útil: Diagnosticar problemas em sua compilação.

P: O que é o Windows Workflow Foundation?Como o uso?

A: Windows Workflow Foundation.

P: Como obtenho dados variáveis de ambiente?

R: Use os dados de ambiente com base em um processo de compilação personalizado

P: Onde posso saber mais sobre as atividades internas?

R: Atividades do Team Foundation Build

O que faço se as atividades internas não atenderem às minhas necessidades?

R: Desenvolva sua própria atividade do processo de compilação personalizado.

P: Onde posso obter modelos, atividades de fluxo de trabalho e scripts?

A: Community TFS Build Extensions

P: Onde posso saber mais sobre como desenvolver processos de compilação personalizados?

A: Curated answer: Customize your Team Foundation Build process