Partilhar via


Atividades do Team Foundation Build

O Team Foundation Build as atividades são os componentes fundamentais do processo de compilação no seu Team Foundation Build do sistema. Você pode usar essas atividades para criar um processo de compilação personalizada para atender aos requisitos da equipe como, por exemplo, seguindo a lógica personalizada ou a realização de tarefas especializadas.

Na maioria dos casos, a melhor maneira de criar um modelo de processo de compilação personalizada é baseá-lo em um modelo padrão (DefaultTemplate.xaml). Dessa forma, você pode aproveitar da funcionalidade geralmente útil que já foi criada ao personalizar partes específicas para atender às suas necessidades. Outra vantagem dessa abordagem é que você pode ver exemplos práticos e específicos de como você pode usar as atividades que este tópico descreve. Para obter informações sobre como criar seu modelo de processo de compilação, consulte Criar e trabalhar com um modelo de processo de compilação personalizados.

Observação importanteImportante

Você deve criar um processo de compilação personalizada somente se você deve atender aos requisitos especializados. Você pode usar DefaultTemplate.xaml para definir rapidamente um processo de compilação que atenda a vários requisitos típicos. Para obter mais informações, consulte Definir uma compilação usando o modelo padrão.

Neste tópico

  • Permissões necessárias

  • Orientado a meta referência às atividades

  • Referência alfabética às atividades

Permissões necessárias

Para executar procedimentos que usam Team Foundation Build atividades, você deve ter as seguintes permissões definidas Permitir:

  • Editar definição de compilação

  • Fazer check-out e Check-in para os diretórios de controle de versão relevantes (como o BuildProcessTemplates o subdiretório do seu projeto de equipe)

  • Compilações de fila

Para obter mais informações, consulte Permissões de Team Foundation Server.

Orientado a meta referência às atividades

  • Execute tarefas básicas

    • Obter os valores de variáveis de ambiente

    • Obtenha os caminhos para os arquivos no espaço de trabalho

    • Trabalhar com pastas

    • Obter o caminho para o diretório de trabalho do agente de compilação

    • Faça o download de arquivos que não estão em um espaço de trabalho.

    • Localizar arquivos

    • Avisos, erros, mensagens e outros dados de gravação no log de compilação

    • Gravar metadados de compilação para o data warehouse

  • Controle o processo de compilação

    • Executar atividades no agente de compilação

    • Usar uma estrutura de mutex nomeado para implementar um processo de thread seguro

    • Restringir as seções do processo de compilação com o motivo (disparador)

  • Compile, teste e executar outras tarefas

    • Usar o MSBuild para binários de compilar, executar análise de código e executar outras tarefas

    • Usar MSTest para executar testes

    • Obter uma lista de testes que afeta a compilação

    • Iniciar um processo

  • Trabalhar com controle de versão

    • Associar os conjuntos de alterações e itens com a criação de trabalho

    • Fazer check-in gated alterações

    • Avaliar as diretivas de check-in

    • Arquivos de etiquetas no controle de versão

  • Trabalhar com itens de trabalho

    • Associar os conjuntos de alterações e itens com a criação de trabalho

    • Criar um item de trabalho

  • Trabalhar com dados de símbolo

    • Incorporar os caminhos de controle de versão e versões dos dados de símbolo nos arquivos. PDB

    • Publicar os símbolos para um armazenamento de símbolo de SymStore

  • Obter referências a objetos úteis

    • Obtenha uma referência a um objeto para uma coleção de projeto de equipe

    • Obtenha uma referência a um objeto para um agente de compilação

    • Obtenha uma referência a um objeto para um detalhe de compilação

    • Obtenha uma referência a um objeto para um ambiente de compilação

Referência alfabética às atividades

  • AgentScope

  • AssociateChangesetsAndWorkItems

  • CheckInGatedChanges

  • ConvertWorkspaceItem

  • ConvertWorkspaceItems

  • CopyDirectory

  • CreateDirectory

  • CreateWorkspace

  • DeleteDirectory

  • DeleteWorkspace

  • DownloadDeArquivo

  • DownloadFiles

  • EvaluateCheckInPolicies

  • ExpandEnvironmentVariables

  • FindMatchingFiles

  • GetBuildAgent

  • GetBuildDetail

  • GetBuildDirectory

  • GetBuildEnvironment

  • GetImpactedTests

  • GetTeamProjectCollection

  • GetWorkspace

  • IndexSources

  • InvokeForReason

  • InvokeProcess

  • LabelSources

  • LabelWorkspace

  • MSBuild

  • MSTest

  • OpenWorkItem

  • PublishSymbols

  • RevertWorkspace

  • SetBuildProperties

  • SharedResourceScope

  • SyncWorkspace

  • TfsBuild

  • UpdateBuildNumber

  • WriteBuildError

  • WriteBuildInformation <T>

  • WriteBuildMessage

  • WriteBuildWarning

Execute tarefas básicas

Você pode usar Team Foundation Build atividades para realizar as seguintes tarefas:

  • Obter os valores de variáveis de ambiente

  • Obtenha os caminhos para os arquivos no espaço de trabalho

  • Trabalhar com pastas

  • Obter o caminho para o diretório de trabalho do agente de compilação

  • Faça o download de arquivos que não estão em um espaço de trabalho.

  • Localizar arquivos

  • Avisos, erros, mensagens e outros dados de gravação no log de compilação

  • Gravar metadados sobre a compilação

Obter os valores de variáveis de ambiente (atividade de ExpandEnvironmentVariables)

Use o ExpandEnvironmentVariables a atividade para resolver uma ou mais variáveis de ambiente em um servidor de compilação. As variáveis de ambiente são lidos no agente de compilação se essa atividade está dentro de um AgentScope seqüência; Caso contrário, eles são lidos no controlador de compilação.

O resultado de ExpandEnvironmentVariables (String) propriedade

Retorna o resultado da operação. Por exemplo: The temp directory on machine BLDSERV3 is C:\windows\SERVIC~2\NETWOR~1\AppData\Local\Temp.

Propriedades do argumento de ExpandEnvironmentVariables

  • Input (String): Você deve especificar a seqüência de caracteres que contém as variáveis de ambiente que você deseja resolver. Você deve formatar cada variável de ambiente, especificando um MSBuild propriedade em vez de usando a porcentagem de Windows símbolo notação. Por exemplo: "The temporary directory on machine $(COMPUTERNAME) is $(TEMP)."

  • AdditionalVariables (IDictionary<TKey, TValue><String,String>): Você pode especificar um IDictionary objeto que contém todas as variáveis adicionais (como chaves) que você deseja resolver para seus valores correspondentes.

Voltar ao topo

Obtenha os caminhos para os arquivos no espaço de trabalho

Cada compilação tem um espaço de trabalho de controle de versão é definido na espaço de trabalho guia de definição de compilação. O espaço de trabalho fornece a compilação com acesso a arquivos de código-fonte e outros arquivos que ele precisa de um sistema de controle de versão. Team Foundation Buildfornece duas atividades que você pode usar para trabalhar com arquivos no espaço de trabalho de compilação: ConvertWorkspaceIteme ConvertWorkspaceItems.

Para obter mais informações sobre espaços de trabalho de compilação, consulte Criar uma definição de compilação básico.

Dica

Para obter orientações detalhadas passo a passo sobre como usar o ConvertWorkspaceItem a atividade em um cenário típico, consulte Controlar onde o sistema de compilação coloca seus binários.

Obter o caminho para um arquivo em um espaço de trabalho (ConvertWorkspaceItem de atividade)

Use o ConvertWorkspaceItem atividade para converter um caminho de servidor para um caminho local em que o agente de compilação ou converter um caminho local em que o agente de compilação para um caminho de servidor.

O resultado de ConvertWorkspaceItem (String) propriedade

Retorna o caminho convertido.

Propriedades do argumento de ConvertWorkspaceItem

  • Input (String): Você deve fornecer o valor de caminho que você deseja converter.

  • Workspace (Workspace): Você deve fornecer uma referência para o Workspace que contém o arquivo. Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializar no resultado propriedade da CreateWorkspace atividade. Se você estiver criando um processo de compilação se baseia em DefaultTemplate.xaml, provavelmente, você deve usar o Workspace variável.

  • Direção

    • Converta um caminho de servidor para um caminho local: No direção propriedade, selecione ServerToLocale especifique o caminho para o arquivo no servidor de entrada (String) propriedade.

      Por exemplo, sua equipe pode armazenar utilitários comuns no seguinte diretório: $/OurTeam/BuildProcess/Util. Você pode criar um processo de compilação personalizado que executa o ScanBinaries.exe utilitário após seus binários são compilados. Se o $/OurTeam/BuildProcess/Util é mapeado na espaço de trabalho guia de sua definição de compilação, você pode especificar $/OurTeam/BuildProcess/Util/ScanBinaries.exe na Input propriedade para obter o caminho local para o utilitário da resultado (String) propriedade.

    • Converta um caminho local para um caminho de servidor: No direção propriedade, selecione ServerToLocale, em seguida, especifique o caminho local para o arquivo em que o agente de compilação na Input propriedade.

Obter os caminhos de arquivos em um espaço de trabalho (ConvertWorkspaceItems de atividade)

Use o ConvertWorkspaceItems atividade para converter os caminhos do servidor para caminhos locais em que o agente de compilação ou converter caminhos locais em que o agente de compilação para caminhos do servidor.

O resultado de ConvertWorkspaceItems (IList<String>) propriedade

Retorna os valores convertidos do caminho.

Propriedades do argumento de ConvertWorkspaceItems

  • Input (IEnumerable<T><String>): Você deve fornecer os valores de caminho que você deseja converter.

  • Workspace (Workspace): Você deve fornecer uma referência a Workspace que contém os arquivos. Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializar no resultado propriedade da CreateWorkspace atividade.

    Dica

    Se você estiver criando um processo de compilação se baseia em DefaultTemplate.xaml, provavelmente, você deve usar o Workspace variável.

  • Direção: Selecione um dos seguintes valores:

    • Selecione ServerToLocal se você estiver especificando uma coleção de valores de caminho do servidor na Input propriedade e desejar que o resultado propriedade para retornar uma lista de valores de caminho local.

    • Selecione LocalToServer se você estiver especificando uma coleção de valores de caminho local na Input propriedade e desejar que o resultado propriedade para retornar uma lista de valores de caminho do servidor.

Trabalhar com pastas

Você pode trabalhar com diretórios usando várias atividades em Team Foundation Build.

Dica

Se você deve trabalhar com os diretórios que fazem parte do espaço de trabalho de controle de versão da sua criação, você deve usar as atividades do espaço de trabalho. Para obter mais informações, consulte Obter caminhos para arquivos no espaço de trabalho.

Crie um diretório (CreateDirectory atividade)

Use o CreateDirectory atividade para criar um diretório, o nome que você especificar o diretório (String) propriedade.

Copiar um diretório (CopyDirectory de atividade)

Uso o CopyDirectory atividade recursivamente copiar todo o conteúdo de um diretório, você pode especificar na fonte (String) propriedade, para outro diretório, você pode especificar na destino (String) propriedade. O diretório que você especificar o destino propriedade já deve existir. Diretórios vazios ou subdiretórios não são copiados.

Excluir um diretório (DeleteDirectory atividade)

Use o DeleteDirectory atividade para excluir um diretório, o nome que você especificar o diretório (String) propriedade. Se o diretório que você está excluindo contém subdiretórios, você deve definir o recursiva (Boolean) propriedade para True; Caso contrário, a compilação falhará.

Obter o caminho para o agente de compilação (GetBuildDirectory de atividade) do diretório de trabalho

Use o GetBuildDirectory atividade para obter o caminho de literal para o diretório de trabalho do agente de compilação da resultado (String) propriedade. Você pode usar essa atividade apenas em um AgentScope atividade.

Voltar ao topo

Faça o download de arquivos que não estão em um espaço de trabalho.

Use o DownloadFiles a atividade para baixar um ou mais arquivos. Ignorar o DownloadFile atividade.

Atividade de DownloadFiles

Use o DownloadFiles a atividade para fazer o download de um ou mais arquivos de controle de versão.

Dica

Se os arquivos que você deseja fazer o download do espaço de trabalho de compilação, você provavelmente deve acessá-los usando o ConvertWorkspaceItem atividade.

Propriedades do argumento de DownloadFiles

  • LocalPath (String) É necessário especificar um valor:

    • Se você estiver fazendo o download de um único arquivo, especifique o caminho local e o nome que você deseja dar à cópia local do arquivo que você está baixando; Por exemplo, "c:\Docs\readme.txt".

    • Se você estiver fazendo o download de vários arquivos, especifique o caminho local para o diretório no qual você deseja fazer o download de arquivos; Por exemplo, "c:\Docs\".

  • ServerPath (String) É necessário especificar um valor:

    • Se você estiver fazendo o download de um único arquivo, especifique o caminho do servidor e o nome do arquivo que você está baixando; Por exemplo, "$/Docs/readme.txt".

    • Se você estiver fazendo o download de vários arquivos, especifique o caminho do servidor para o diretório que contém os arquivos que você deseja baixar; Por exemplo, "$/Docs/".

  • Recursion (RecursionType):

    • OneLevel: Downloads de arquivos no diretório que você especificar o ServerPath propriedade.

    • Full: Baixa os arquivos no diretório que você especificar o ServerPath propriedade e todos os arquivos de todas as subpastas.

  • Version (String): Você pode especificar um versionspec. Para baixar a versão atual, deixe esta propriedade definida como Microsoft.TeamFoundation.VersionControl.Client.VersionSpec.Latest.DisplayString. Para obter mais informações sobre versionspecs, consulte Sintaxe de linha de comando (controle de versão).

  • DeletionID (Int32): Você deve especificar essa propriedade somente se você estiver fazendo o download de um arquivo que foi excluído do controle de versão. Você pode obter esse valor interativamente digitando tf dir /deleted em um prompt de comando. (Para obter mais informações, consulte Comando dir). No entanto, Team Foundation Build não fornece uma atividade interna para obter um DeletionID. Para usar essa propriedade, você deve obter ou criar uma atividade personalizada que fornece essa funcionalidade.

Voltar ao topo

Atividade de DownloadFile

Ignorar o DownloadFile atividade. O DownloadFiles atividade é a maneira mais fácil de fazer o download de um ou mais arquivos.

Localizar arquivos (FindMatchingFiles de atividade)

Use o FindMatchingFiles a atividade para localizar arquivos. Especificar critérios de pesquisa do MatchPattern (String) propriedade. Esta propriedade, você pode especificar um argumento que inclui os seguintes elementos:

  • Sintaxe compatível com o searchPattern argumento da Directory GetFiles(String, String) método.

  • **Para especificar uma pesquisa recursiva. Por exemplo:

    • Para pesquisar o diretório de fontes para arquivos de texto, você poderia especificar algo que se parece com o seguinte valor para o MatchPattern propriedade: String.Format("{0}\**\*.txt", SourcesDirectory).

    • Para pesquisar o diretório de fontes para arquivos de texto em um ou mais subpastas que são chamadas de txtfiles, você poderia especificar algo que se parece com o seguinte valor para o MatchPattern propriedade: String.Format("{0}\**\txtfiles\*.txt", SourcesDirectory).

Você coletar o resultado da operação de resultado (IEnumerable<T><String>) propriedade.

Avisos, erros, mensagens e outros dados de gravação no log de compilação

Atividade de WriteBuildMessage

Use o WriteBuildMessage a atividade para escrever uma mensagem informativa no log de compilação. Você deve especificar a mensagem de mensagem (String) propriedade. Você também pode indicar a importância da mensagem, modificando o valor de importância propriedade (BuildMessageImportance).

Dica

  • Os usuários do processo de compilação podem depender de verbosidade de filtragem para reduzir a sobrecarga de informações tanto em relação ao qual deve exibir e os dados armazenados no depósito. Pode ajudar a tornar a essa filtragem mais eficaz usando uma abordagem consistente e cuidadosa para configuração de importância propriedade de suas mensagens de compilação. Para obter mais informações sobre como os usuários filtrar o detalhamento do log de compilação, consulte Definir uma compilação usando o modelo padrão.

  • Se você estiver usando as configurações padrão, sua mensagem não será gravada no log de compilação. Para resolver esse problema, execute as seguintes etapas:

    • Definir o WriteBuildMessage importância propriedade para Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High.

    • No processo guia de definição de compilação, defina o Verbosidade do log parâmetro de processo para Detailed ou Diagnostic.

Atividade de WriteBuildWarning

Use o WriteBuildWarning a atividade para gravar uma mensagem de aviso no log de compilação. Avisos são exibidos com um ponto de exclamação amarelo na janela de resultados da compilação. Você deve especificar a mensagem de mensagem (String) propriedade.

Atividade de WriteBuildError

Use o WriteBuildError atividade para gravar uma mensagem de erro em que o log de compilação. Erros aparecem com um ponto de exclamação vermelho na janela de resultados da compilação. Quando um erro é gravado no log de compilação, a compilação é classificada como Partially Succeeded em melhores. Você deve especificar a mensagem de mensagem (String) propriedade.

WriteBuildInformation <T> Atividade

Use o WriteBuildInformation<T> a atividade para colocar um objeto para o log de compilação. Quando um usuário exibe o log, na janela de resultados da compilação, o objeto é processado usando reflexão.

WriteBuildInformation <T> Propriedades do argumento

  • Value (Object): Você deve especificar o objeto que você deseja colocar no log de compilação. Para o objeto a ser processado na janela de resultados da compilação, o objeto deve implementar IBuildInformationNode e defina a Type para um dos seguintes InformationTypes valores:

    • ActivityProperties

    • ActivityTracking

    • AgentScopeActivityTracking

    • BuildError

    • BuildMessage

    • BuildProject

    • BuildStep

    • BuildWarning

    • ExternalLink

    • OpenedWorkItem

  • ParentToBuildDetail: Você pode especificar False para tornar o pai deste objeto ser o pai desta atividade, ou você pode especificar True para tornar o pai do IBuildDetail objeto.

    Um efeito dessa propriedade é como as informações são exibidas na janela do resultado da compilação. Se você especificar False, as informações são recuadas e alinhadas com a saída de outras atividades que estão antes e depois o WriteBuildInformation<T> atividade e que estão no mesmo nível. Se você especificar True, as informações não são recuadas.

Voltar ao topo

Gravar metadados para o Data Warehouse

Você pode escrever os metadados sobre a compilação para o data warehouse:

  • Escreva o número de compilação (UpdateBuildNumber de atividade)

  • Pontos de dados de chave de gravação sobre a compilação (SetBuildProperties de atividade)

Dica

Se essas atividades não oferecem suporte o metadados que você deseja escrever, você pode usar o GetBuildDetail atividade para obter uma referência para o IBuildDetail de objeto e, em seguida, atribuir os dados diretamente para o objeto usando essa referência.

Escreva o número de compilação (UpdateBuildNumber de atividade)

Use o UpdateBuildNumber a atividade para definir o número de compilação (ou nome) de compilação. Esta atividade executa as seguintes etapas:

  1. Constrói um número de compilação se baseia em uma expressão que determina o formato de número de compilação. O processo de compilação geralmente aceita essa expressão de um argumento de fluxo de trabalho, o que é fornecido por um parâmetro no processo guia de uma definição de compilação.

  2. Define o número de compilação (ou nome) da compilação, escrevendo o valor resultante o BuildNumber propriedade.

O resultado de UpdateBuildNumber (String) propriedade

Resultado: Retorna o novo BuildNumber valor.

Propriedades de UpdateBuildNumber

  • BuildNumberFormat (String): Você deve fornecer uma expressão que especifica o formato dos números de compilação. Você pode usar os símbolos na expressão. Considere a situação de exemplo a seguir:

    • O projeto de equipe é denominadoContosoCore

    • A definição de compilação é denominada DailyBuild.

    • A identificação da compilação é4

    • Hoje é dia 24 de agosto de 2009.

    • O tempo é 9:50:43 PM.

    • A compilação foi executada uma vez hoje.

    Por exemplo, você poderia definir a BuildNumberFormat a propriedade para o seguinte valor:

    $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)

    Nesse caso, a próxima concluída build do DailyBuild seria definida como no seguinte número de compilação:

    DailyBuild_20090824.2

    A tabela a seguir mostra como cada token é resolvido com base no exemplo anterior.

    Token

    Valor de substituição com base no exemplo anteriormente nesta seção

    $(BuildDefinitionName)

    DailyBuild

    $(BuildID)

    4

    $(DayOfMonth)

    24

    $(DayOfYear)

    236

    $(Hours)

    09

    $(Minutes)

    50

    $(Month)

    08

    $(Rev:.rr)

    2 (próxima compilação neste dia será 3 e assim por diante)

    $(Date:MMddyy)

    082409

    $(Seconds)

    50

    $(TeamProject)

    ContosoCore

    $(Year:yy)

    09

    $(year:yyyy)

    2009

Voltar ao topo

Pontos de dados de chave de gravação sobre a compilação (SetBuildProperties de atividade)

Use SetBuildProperties para gravar dados de chave aponta para o IBuildDetail o objeto, que gerencia o armazenamento de dados sobre cada compilação no depósito de dados. Grande parte desses dados é exibida ao usuário na janela de resultados da compilação.

Propriedades de SetBuildProperties

  • PropertiesToSet: Você deve selecionar as caixas de seleção para os nomes das propriedades que você deseja definir.

  • BuildNumber (String): Você pode definir o BuildNumber da compilação, você pode pensar em como o nome da compilação.

    Dica

    Se você desejar definir esse valor com base nas configurações de usuário especificado na processo guia de definição de compilação, você provavelmente deverá usar o UpdateBuildNumber atividade em vez da propriedade.

  • CompilationStatus (BuildPhaseStatus): Você pode definir o status de compilação (CompilationStatus). (O MSBuild atividade também define esse valor automaticamente.)

  • DropLocation (String): Você pode registrar o local de recebimento na DropLocation propriedade.

    ObservaçãoObservação

    Se você definir essa propriedade, você não criar, na verdade, o local de destino. Em vez disso, você pode usar essa propriedade para armazenar, no data warehouse, o local da pasta de armazenamento, você normalmente cria usando o CreateDirectory atividade.

  • KeepForever (Boolean): Você pode definir o KeepForever propriedade para True se você deseja ignorar as configurações na Política de retenção guia de definição de compilação e manter a compilação concluída indefinidamente.

  • LabelName (String): Você pode definir o LabelName propriedade para gravar o rótulo que você usou para marcar esta compilação em arquivos de código-fonte no controle de versão. Definir essa propriedade normalmente para coincidir com o valor a nome propriedade da LabelWorkspace atividade.

    Observação importanteImportante

    Team Foundation Buildrequer esses dados para associar um changeset e itens com compilações de trabalho. Se você não fornecer esses dados, o AssociateChangesetsAndWorkItems atividade falhará.

  • LogLocation (String): Você pode usar o LogLocation propriedade registre o caminho UNC do arquivo para a pasta onde o processo de compilação coloca o arquivo de log.

    ObservaçãoObservação

    Você provavelmente não precisará usar essa propriedade no seu processo de compilação personalizada. Esta propriedade é usado principalmente pela UpgradeTemplate.xaml o arquivo para dar suporte a processos de compilação de legado.

  • Quality (String): Você pode registrar a qualidade da compilação do Quality propriedade.

  • SourceGetVersion (String): Você pode usar o SourceGetVersion propriedade para registrar a especificação de versão para o qual as fontes são recuperadas para compilação.

  • Status (BuildStatus): Você pode registrar o status geral da compilação do Status propriedade. Por exemplo, você pode usar essa propriedade para indicar se a compilação teve êxito ou falha.

  • TestStatus (BuildPhaseStatus): Você pode usar o TestStatus propriedade para registrar o status geral dos testes foram executados no build. Por exemplo, você pode usar essa propriedade para indicar se os testes que você executou a esta compilação teve êxito ou falha.

Voltar ao topo

Controle o processo de compilação

Você pode usar Team Foundation Build atividades para controlar o processo de compilação das seguintes maneiras:

  • Executar atividades no agente de compilação

  • Usar uma estrutura de mutex nomeado para implementar um processo de thread seguro

  • Restringir as seções do processo de compilação com o motivo (disparador)

Executar atividades em que o agente de compilação (AgentScope de atividade)

Use o AgentScope a atividade para delimitar as partes do processo de compilação que você deseja executar no agente de compilação.

Propriedades do argumento de AgentScope

  • Seleção de agente

    • MaxWaitTime (TimeSpan): Você pode especificar a quantidade máxima de tempo que o processo de compilação aguarda por um agente de compilação se torne disponível. Você pode digitar um valor no formato de hh:mm:ss. Por exemplo, a compilação falhará com um erro de tempo limite se você especificar um valor de 01: 30: 45 e a compilação não foi atribuída a um agente de compilação após 1 hora, 30 minutos e 45 segundos. Especifique um valor de 00: 00: 00, se você deseja dar a controladora de compilação ilimitada tempo para encontrar um agente de compilação para processar a definição de compilação.

      Observação importanteImportante

      Você pode evitar fazer backup de sua fila de compilação, especificando um valor razoável de zero a MaxWaitTime propriedade

    • ReservationSpec (AgentReservationSpec): Você pode restringir o tipo de agente de compilação que processará as atividades que contém a esta atividade. Por exemplo, você pode especificar que somente os agentes de compilação que têm uma certa marca são usados para processar as atividades dentro do AgentScope atividade.

  • Execução

    • MaxExecutionTime (TimeSpan): Você pode especificar a quantidade máxima de tempo permitido para este AgentScope a atividade seja concluída. Você pode digitar um valor no formato de hh:mm:ss. Por exemplo, a compilação falhará com um erro de tempo limite se você especificar um valor de 04: 30: 15 e o agente de compilação não concluiu seu trabalho após 4 horas, 30 minutos e 15 segundos. Especifique um valor de 00: 00: 00 se você quiser que o agente de compilação ilimitado de dar tempo para processar a compilação.

      Dica

      Você pode evitar fazer backup de sua fila de compilação, especificando um valor razoável de zero a MaxExecutionTime propriedade

  • Escopo

    • DataToIgnore: Ignore esta propriedade.

Voltar ao topo

Usar uma estrutura de mutex nomeado para implementar um processo de Thread seguro (atividade de SharedResourceScope)

Use o SharedResourceScope a atividade para implementar a estrutura de um mutex nomeado (exclusão mútua). O segmento do processo de compilação que podem ser colocadas dentro dessa atividade será "segmento seguro".

Um uso típico desta atividade é para delimitar as partes de um processo de compilação que precisar acessar um recurso compartilhado que deve ser acessado por um único processo por vez. Por exemplo, convém suas criações para escrever, em ordem seqüencial, um arquivo de texto simples em um compartilhamento de arquivo. Para certificar-se de que esse tipo de processo funcione corretamente, você deve implementá-lo dentro de um SharedResourceScope atividade.

Você pode encontrar outro exemplo em DefaultTemplate.xaml, no qual a chamada da PublishSymbols atividade é incorporada em um SharedResourceScope atividade:

  1. Seqüência (Sequence) >

  2. Executar o agente (AgentScope) >

  3. Tente compilar, teste e associar conjuntos de alterações e itens de trabalho (TryCatch [Try]) >

  4. Seqüência (Sequence) >

  5. Obtenha impactados testes, fontes de índice e publicar os símbolos (Parallel) >

  6. Se SourceAndSymbolServerSettings.IndexSources ou SourceAndSymbolServerSettings.HasSymbolStorePath (If [Then]) >

  7. Fontes de índice e publicar os símbolos para compilações disparadas (InvokeForReason) >

  8. Se SourceAndSymbolServerSettings.HasSymbolStorePath (If [Then]) >

  9. Tente publicar símbolos (TryCatch [Try]) >

  10. Sincronizar o acesso ao armazenamento de símbolo (SharedResourceScope) >

  11. Publicar símbolos (PublishSymbols)

Para obter informações sobre como navegar essa estrutura, consulte Navegar em um fluxo de trabalho do Windows complexo.

Propriedades do argumento de SharedResourceScope

  • ResourceName (String): Você deve especificar um valor. Todas as instâncias de SharedResourceScope as atividades são executadas uma por vez se eles tiverem o mesmo ResourceName valor na sua coleção de projeto de equipe (mesmo se eles estão em modelos de definição de compilação diferente).

  • MaxExecutionTime (TimeSpan): Você pode especificar a quantidade máxima de tempo permitido para o SharedResourceScope a atividade seja concluída. Você pode digitar um valor no formato de hh:mm:ss. Por exemplo, a compilação falhará com um erro de tempo limite se você especificar um valor de 04: 30: 15 e o SharedResourceScope atividade não foi concluída após 4 horas, 30 minutos e 15 segundos. Especifique um valor de 00: 00: 00, se você deseja permitir tempo ilimitado processar o SharedResourceScope atividade.

    Dica

    Você pode evitar fazer backup de sua fila de compilação, especificando um valor razoável de zero a MaxExecutionTime propriedade

  • MaxWaitTime (TimeSpan): Você pode especificar a quantidade máxima de tempo que o processo de compilação aguarda na fila para processar o SharedResourceScope atividade. Você pode digitar um valor no formato de hh:mm:ss. Por exemplo, a compilação falhará com um erro de tempo limite se você especificar um valor de 01: 30: 45 e o SharedResourceScope atividade não foi processado após 1 hora, 30 minutos e 45 segundos. Especifique um valor de 00: 00: 00 se você deseja permitir que o processo de compilação ilimitado tempo de espera na fila.

    Dica

    Você pode evitar fazer backup de sua fila de compilação, especificando um valor razoável de zero a MaxWaitTime propriedade

Voltar ao topo

Restringir as seções do processo de compilação com o motivo (disparador) (InvokeForReason de atividade)

Use o InvokeForReason atividade para delimitar um segmento do processo de compilação que você deseja executar apenas em compilações que foram executados por um motivo específico. Motivos da compilação geralmente são definidos pelo disparador que o usuário seleciona na disparador guia de definição de compilação. Você pode especificar, na motivo propriedade, um ou mais valores de razão que você deseja permitir. A tabela a seguir descreve a condição que faz com que cada valor.

Motivo

Causa

BatchedCI

Sem interrupção compilações foi especificado na disparador guia de definição de compilação.

CheckInShelveset

Gated Check-in foi especificado na disparador guia de definição de compilação.

IndividualCI

Integração contínua foi especificado na disparador guia de definição de compilação.

Manual

Um usuário manualmente na fila a compilação. Para obter mais informações, consulte Uma compilação de fila.

Schedule

Agenda foi especificado na disparador guia de definição de compilação e o criar o mesmo que nada mudou desde a compilação anterior foi desmarcada.

ScheduleForced

Agenda foi especificado na disparador guia de definição de compilação e o criar o mesmo que nada mudou desde a compilação anterior caixa de seleção também foi selecionada.

UserCreated

Esse motivo ocorre devido ao código que implementa os objetos do Microsoft.TeamFoundation.Build namespace. Para obter mais informações, consulte Team Foundation Server SDK.

ValidateShelveset

Um usuário em fila uma compilação particular. Para obter mais informações, consulte Uma compilação de fila.

Voltar ao topo

Compile, teste e executar outras tarefas

Você pode usar Team Foundation Build atividades de compilação de binários, executar testes e executar outras tarefas:

  • Usar o MSBuild para binários de compilar, executar análise de código e executar outras tarefas

  • Usar MSTest para executar testes

  • Obter uma lista de testes que esta compilação afeta

Usar o MSBuild para binários de compilar, executar análise de código e executar outras tarefas (MSBuild atividade)

Use o MSBuild a atividade de compilação de binários, executar análise de código e aproveitar qualquer outra funcionalidade que MSBuild fornece.

Resultado do MSBuild

Nenhuma propriedade dessa atividade retorna um resultado. No entanto, define a esta atividade CompilationStatus para Failed se os erros de compilação são registrados.

Propriedades do argumento do MSBuild

  • AdditionalVCOverrides (String): Se você definir GenerateVsPropsFile para True, o conteúdo desta propriedade será incorporado em gerado .vsprops arquivo.

  • CommandLineArguments (String): Você pode especificar argumentos de linha de comando que você deseja passar para MSBuild.

  • Configuração (String): Você pode especificar a configuração a ser criado. Por exemplo: “debug” ou “release”.

  • GenerateVSPropsFile (Boolean): Se essa propriedade estiver definida como True, MSBuild gera um padrão .vsprops o arquivo para passar para projetos do C++. Este arquivo incluirá o diretório de saída para projetos C++ e tudo o que você especificar o AdditionalVCOverrides propriedade.

  • LogFile (String): Você pode especificar o nome do log de arquivo que MSBuild deve criar.

  • LogFileDropLocation (String): Você pode especificar o caminho UNC totalmente qualificado para o diretório onde você deseja MSBuild para soltar o arquivo de log.

  • MaxProcesses (Int32): Você pode especificar o número máximo de processos que MSBuild cria.

  • OutDir (String) você pode especificar o diretório onde MSBuild descartes binários compilados. Para obter mais informações, consulte Controlar onde o sistema de compilação coloca seus binários.

  • Platform (String): Você pode especificar a plataforma para o qual MSBuild compilações. Por exemplo: “Any CPU”, “x86”, or “x64”.

  • Project (String): Você pode especificar a solução ou o código do projeto que MSBuild compilações.

  • ResponseFile (String): Você pode especificar o arquivo de resposta que MSBuild usa.

  • RunCodeAnalysis (CodeAnalysisOption): Você pode especificar se a análise de código deve sempre ser executado, nunca deve ser executado ou deve ser executado de acordo com as configurações do projeto.

  • Targets (IEnumerable<T><String>): Você pode especificar os alvos de build.

  • TargetsNotLogged (IEnumerable<T><String>): Você pode especificar os destinos para o qual ProjectStarted eventos não devem ser registrados.

  • ToolPath (String): Você pode especificar o caminho para a ferramenta.

  • ToolPlatform (ToolPlatform): Você pode especificar a plataforma para a ferramenta. Especificar Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto para detectar a plataforma com base no sistema operacional atual.

  • Verbosity (BuildVerbosity): Você pode especificar a verbosidade do log que MSBuild gera.

Para obter mais informações sobre muitos MSBuild de opções que o MSBuild Propriedades afetam, consulte Referência de linha de comando do MSBuild.

Voltar ao topo

Executar testes (MSTest atividade)

Usar essa atividade para executar testes usando MSTest.exe.

Propriedades de núcleo MSTest

Para começar, decida como você deseja executar os testes e, em seguida, especifique valores para as propriedades adequadas.

  • Para executar testes em contêiners de teste (a abordagem recomendada), use as seguintes propriedades:

    • TestContainers (IEnumerable<String>): Você deve especificar os contêineres de teste dos testes que você deseja executar. Esta propriedade é equivalente a /testcontainer opção do MSTest.exe comando. Para obter mais informações, consulte MSTest.exe Command-Line Options (/testcontainer).

    • SearchPathRoot (String): Você pode especificar a raiz do caminho para o diretório no qual procurar contêiners de teste e suas dependências. Se você não especificar um valor de MSTest atividade tentará localizar os arquivos em locais típicos.

    • TestSettings (String): Você pode especificar um arquivo de configuração para usar de execução de teste. Esta propriedade é equivalente a /testsettings a opção do MSTest.exe comando. Para obter mais informações, consulte MSTest.exe Command-Line Options (/testsettings).

  • Para executar testes em listas de teste, use as seguintes propriedades:

Propriedades de filtragem MSTest

Você pode usar as propriedades a seguir para filtrar quais testes são executados:

  • Category (String): Você pode filtrar os testes com base em suas categorias de teste. Esta propriedade é equivalente a /category opção do MSTest.exe comando. Para obter mais informações, consulte MSTest.exe Command-Line Options (/category) e Definindo categorias de teste para agrupar os testes.

  • MaxPriority (Int32): Você pode especificar a prioridade máxima de testes que você deseja executar. Somente testes cuja prioridade é que menor ou igual a este valor será executado. Você deve especificar um número inteiro positivo que seja maior ou igual a MinPriority propriedade ou você deve especificar -1 se não desejar especificar uma prioridade máxima.

    Dica

    Se você tiver atribuído prioridades para os testes, o MinPriority e MaxPriority propriedades podem ser um importante mecanismo para ajudá-lo a definir um equilíbrio entre um teste completo e compilações mais rápidas.

  • MinPriority (Int32): Você pode especificar a prioridade mínima de testes que você deseja executar. Somente os testes cuja prioridade é maior ou igual a este valor serão executado. Você deve especificar um número inteiro positivo que seja igual ou menor que o MaxPriority propriedade ou você deve especificar -1 se não desejar especificar uma prioridade mínima.

  • TestNames (IEnumerable<String>): Você pode especificar os nomes dos testes que você deseja executar. Esta propriedade é equivalente a /test opção do MSTest.exe comando. Para obter mais informações, consulte MSTest.exe Command-Line Options (/test).

Propriedades de publicação MSTest

Você pode usar as propriedades a seguir para publicar os resultados de teste para o data warehouse:

  • Publish (Boolean): Você deve definir essa propriedade True se você deseja publicar os resultados de teste.

  • Flavor (String): Você pode especificar o tipo da compilação no qual executou os testes cujos resultados você deseja publicar. Esta propriedade é equivalente a /flavor opção do MSTest.exe comando. Para obter mais informações, consulte Opções de Linha de Comando para Publicação dos Resultados de Testes.

  • Platform (String): Você pode especificar a plataforma da compilação no qual executou os testes cujos resultados você deseja publicar. Esta propriedade é equivalente a /platform opção do MSTest.exe comando. Para obter mais informações, consulte Opções de Linha de Comando para Publicação dos Resultados de Testes.

  • TestConfigId (Int32): Você pode especificar a identificação de uma configuração existente de gerenciamento de teste para associar o teste executar cujos resultados você deseja publicar. Esta propriedade é equivalente a /testconfigid opção do MSTest.exe comando. Para obter mais informações, execute MSTest /? com o Visual Studio o prompt de comando.

  • TestConfigName (String): Você pode especificar o nome de uma configuração existente de gerenciamento de teste para associar o teste executar cujos resultados você deseja publicar. Esta propriedade é equivalente a /testconfigname opção do MSTest.exe comando. Para obter mais informações, execute MSTest /? com o Visual Studio o prompt de comando.

MSTest outras propriedades.

  • CommandLineArguments (String): Para obter informações sobre as opções de linha de comando adicionais que você pode especificar, consulte Opções da Linha de Comando MSTest.exe.

  • PathToResultsFilesRoot (String): Você pode especificar a raiz do caminho para o diretório em que o agente de compilação onde MSTest.exe coloca os resultados (arquivos. trx).

  • ToolPath (String): Você pode especificar o caminho para o diretório que contém a versão do MSTest.exe que você deseja executar. Se você não especificar um caminho, Team Foundation Build determina automaticamente o caminho com base nos dados de suas listas de testes ou testar recipientes.

Voltar ao topo

Obter uma lista de testes para que a compilação afeta (atividade de GetImpactedTests)

Use o GetImpactedTests a atividade para identificar alterações de código na compilação atual e produzir uma lista de testes que são afetadas por essas alterações. A atividade grava a lista de testes afetados para o data warehouse para ajudar a determinar quais testes devem executar após esta compilação de membros da equipe de teste. Para obter mais informações sobre como sua equipe pode usar esses dados, consulte Recomendações de testes para executar o que são afetadas pelas alterações de código.

ObservaçãoObservação

Essa atividade não tem efeito em compilações de check-in gated ou compilações particulares.

Condições necessárias

O GetImpactedTests atividade pode funcionar somente quando as seguintes condições forem verdadeiras:

  • O MSTest atividade foi executada com um arquivo de configurações de teste (especificado na TestSettings propriedade) que coleta os dados de impacto de teste. Você pode usar o Traceandtestimpact.testsettings arquivo, que é gerado automaticamente, ou você pode usar outro arquivo de configurações de teste no qual o Teste de impacto caixa de seleção está marcada. Para obter mais informações, consulte Como: Coletar dados para verificar quais testes devem ser executados após alterações de código.

  • O GetImpactedTests atividade identificou compilação anterior. Para mais informações, veja a próxima seção.

Como a atividade GetImpactedTests identifica a compilação anterior

O GetImpactedTests atividade produz seus resultados comparando a compilação atual para o build anterior. A atividade identifica a compilação anterior usando o seguinte processo:

  1. Se você especificar o BaselineBuildDropLocation propriedade, a compilação que geraram esses binários é identificada como a compilação anterior.

  2. Se você não especificar o BaselineBuildDropLocation propriedade, a atividade que identifica a compilação anterior pesquisando no armazém de dados para a compilação mais recente que corresponde a todos os critérios a seguintes:

    • A compilação tem o mesmo BuildDefinitionUri como a compilação atual.

    • O Status da compilação é Succeeded ou PartiallySucceeded.

    • A compilação tem um DropLocation.

    • A compilação não é uma compilação gated check-in ou uma compilação particular.

Propriedades de resultado de GetImpactedTests

  • CodeChanges (CodeChangeList): Retorna uma lista das alterações que foram feitas em cada método no seu código entre esta compilação e a compilação anterior. Os métodos são analisados no nível Microsoft intermediate language (MSIL).

  • ImpactedTests (TestList): Retorna uma lista de testes que foram afetadas pelas alterações de código entre a compilação anterior e esta compilação.

GetImpactedTests Propriedades do argumento

  • Miscelânea

    • Criar: Você deve fornecer o IBuildDetail o objeto da compilação. Você pode usar o GetBuildDetail a atividade para obter uma referência a este objeto.
  • Diversos

    • Assemblies (IEnumerable<String>): Você deve especificar uma lista de módulos (assemblies) que você deseja que essa atividade para examinar. Normalmente, você criou esses assemblies nesta compilação.

    • AssociatedChangesets (IList<T><Changeset>): Você pode especificar que conjuntos de alterações que você deseja associar aos resultados do teste de impacto. Normalmente, você deseja especificar conjuntos de alterações que você está criando. Você pode obter uma referência a esses conjuntos de alterações a partir de AssociateChangesetsAndWorkItems atividade.

    • BinariesRoot (String): Você deve especificar o caminho para os binários que dependem do seus assemblies. Você pode obter esse valor usando o GetBuildDirectory atividade.

    • Workspace (Workspace): Você deve fornecer uma referência ao espaço de trabalho da sua compilação. Você pode obter essa referência a partir do resultado propriedade da CreateWorkspace atividade.

    • BaselineBuildDropLocation (String): Você pode especificar o caminho para a pasta de recebimento que contém a compilação concluída, você deseja que o GetImpactedTests a atividade para comparar com a compilação atual. Se você não especificar esta propriedade, a atividade tenta consultar o sistema de compilação a compilação anterior. Para obter mais informações, consulte "Como o GetImpactedTests atividade identifica o anterior Build" anteriormente nesta seção.

Voltar ao topo

Iniciar um processo (InvokeProcess de atividade)

Use o InvokeProcess a atividade para iniciar um processo (executar um programa) no servidor de compilação. Esta atividade é essencialmente um wrapper sobre Start.

O resultado de InvokeProcess (Int32) propriedade

Retorna o ExitCode do processo.

Propriedades do argumento de InvokeProcess

  • FileName (String): Você deve especificar o FileName do processo que você deseja iniciar (o programa que você deseja executar). Por exemplo: %ProgramFiles%\ContosoBuildUtils\MarkBins.exe.

  • Arguments (String): Você pode especificar argumentos de linha de comando (Arguments) que você deseja passar para o processo.

  • EnvironmentVariables(IDictionary<TKey, TValue><String,String>): Você pode especificar variáveis de ambiente adicionais (EnvironmentVariables) e seus valores.

  • OutputEncoding (Encoding): Você pode especificar a codificação é usada para ler a saída (StandardOutputEncoding) e o erro (RedirectStandardError) fluxos. Em muitos casos, o valor padrão é o melhor valor para essa propriedade:

    System.Text.Encoding.GetEncoding(System.Globalization.CultureInfo.InstalledUICulture.TextInfo.OEMCodePage)
    
  • WorkingDirectory (String): Você pode especificar o diretório de trabalho (WorkingDirectory) no qual você deseja executar o processo.

    Por exemplo, convém executar o MarkBins.exe o utilitário contra binários compilados. Para restringir o escopo no qual o utilitário é executado, você poderia chamar GetBuildDirectory e coloca o resultado nesta propriedade.

Para exibir a saída de saída e de erro padrão do processo

  1. No InvokeProcess atividade, clique duas vezes em duas vezes para exibir.

  2. Arraste um WriteBuildMessage atividade na caixa de ferramentas para que a atividade aparece sob Tratar a saída padrãoe defina a WriteBuildMessage mensagem propriedade para stdOutput.

  3. Arrastar um WriteBuildError atividade a partir de Toolbox para que ele apareça em Tratar a saída padrãoe defina a WriteBuildMessage mensagem propriedade para errOutput.

Trabalhar com controle de versão

Você pode usar Team Foundation Build tarefas de controle de atividades para executar a seguinte versão:

  • Associar os conjuntos de alterações e itens com a criação de trabalho

  • Fazer check-in gated alterações

  • Avaliar as diretivas de check-in

  • Arquivos de etiquetas no controle de versão

Associar os conjuntos de alterações e itens de trabalho uma compilação (AssociateChangesetsAndWorkItems de atividade)

Use o AssociateChangesetsAndWorkItems a atividade para vincular cada compilação concluída com todos os conjuntos de alterações que acompanhou o código e seus itens de trabalho associados.

Cada definição de compilação mantém seu próprio registro de quais conjuntos de alterações e o trabalho itens estiverem aguardando para ser associado com a próxima compilação concluída. Por exemplo, A de compilação e a construir b podem construir changeset 382. Build a será enfileirada e concluída com êxito, mas criar b está na fila e falhar. Changeset 382 está agora vinculado com a compilação concluída com êxito um e com falha b de compilação. Changeset 382 não serão vinculadas com a próxima compilação concluída da compilação, mas será vinculado com a próxima compilação concluída com êxito do b de compilação.

O resultado de AssociateChangesetsAndWorkItems (IList<T><Changeset>) propriedade

Retorna os conjuntos de alterações que foram associados com a compilação.

Propriedades do argumento de AssociateChangesetsAndWorkItems

  • CurrentLabel (String): Deixe vazia essa propriedade.

  • LastLabel (String): Deixe vazia essa propriedade.

  • UpdateWorkItems (Boolean): Você pode definir o valor dessa propriedade para True se você deseja preencher o Fixa na campo dos itens de trabalho associado com o número de compilação. Caso contrário, defina o valor para False.

Voltar ao topo

Fazer check-in de alterações gated (atividade de CheckInGatedChanges)

Use o CheckInGatedChanges a atividade de check-in para controle de versão as alterações de código que disparou um gated check-in build. Esta atividade também associa a compilação os itens de trabalho que estão associados com os conjuntos de alterações.

ObservaçãoObservação

Para funcionar corretamente, essa atividade deve ser colocada depois de todas as implementações da MSBuild e MSTest atividades no modelo.

O resultado de CheckInGatedChanges (Changeset) propriedade

Retorna o conjunto de alterações que contém as alterações que estão sendo verificadas no.

Propriedades do argumento de CheckInGatedChanges

  • IgnoreErrors (Boolean): Defina esta propriedade como False para permitir que os arquivos a serem verificados em somente se a CompilationStatus e TestStatus Propriedades ambos têm um valor de Succeeded. Definir essa propriedade True para permitir que arquivos fazer check-in, independentemente dos valores dessas propriedades.

    ObservaçãoObservação

    Você pode usar o SetBuildProperties a atividade para definir o CompilationStatus e o TestStatus Propriedades.

  • UpdateWorkItems (String): Defina esse valor como True se você deseja preencher o Fixa na campo dos itens de trabalho associado com o número de compilação. Caso contrário, defina-o como False.

Voltar ao topo

Avaliar as diretivas de check-in (EvaluateCheckInPolicies de atividade)

Use o EvaluateCheckInPolicies a atividade para executar as políticas de check-in no servidor de compilação. Esta atividade executa as diretivas de check-in que estão em vigor para pastas que são especificados no espaço de trabalho guia de definição de compilação. A construção falhar se as diretivas de check-in falharem e o motivo para a compilação é CheckInShelveset (um gated check-in build) ou ValidateShelveset (uma compilação particular).

Observação importanteImportante

As diretivas de check-in são avaliadas no servidor de compilação, não no computador do cliente do desenvolvedor.

O uso mais efetivo desta atividade é impor mais fortes gates de qualidade usando-o com o gated compilações de check-in. Se você usar a atividade dessa forma, o usuário está bloqueado contornem as diretivas de check-in. Esta atividade é mais útil para os seguintes tipos de diretivas de check-in:

  • Interno Work Items check-in de diretiva

  • Check-in diretivas personalizadas que são projetadas para serem avaliados no servidor de compilação

Essa atividade não é útil para avaliar interno Builds, Code Analysis, ou Testing Policy check-in de diretivas porque você pode executar com mais eficiência os processos em uma compilação diretamente, usando MSBuild e MSTest atividades.

Para obter mais informações, consulte os seguintes recursos:

Propriedades do argumento de EvaluateCheckInPolicies

  • Workspace (Workspace): Você deve especificar o espaço de trabalho que você deseja avaliar. Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializar no resultado propriedade da CreateWorkspace atividade. Se você estiver criando um processo de compilação se baseia em DefaultTemplate.xaml, provavelmente, você deve usar o Workspace variável.

Voltar ao topo

Arquivos de etiquetas no controle de versão

Você pode rotular arquivos usando Team Foundation Build atividades:

  • Rotular o código-fonte que você está construindo

  • Arquivos de etiquetas

Rotular o código-fonte que você esteja criando (LabelWorkspace de atividade)

Para que sua equipe possa identificar facilmente qual versão de cada arquivo é incluído em uma determinada compilação de concluído, você deve rotular arquivos de código-fonte no controle de versão. Use o LabelWorkspace a atividade para incluir essa etapa no processo de compilação.

Propriedades do argumento de LabelWorkspace

  • Name (String): Você deve especificar o nome da etiqueta.

  • Child (LabelChildOption): Você pode especificar como lidar com os itens que já possuem rótulos que corresponder ao rótulo especificado. Esta propriedade é equivalente a /child a opção do tf label comando.

  • Workspace (Workspace): Você deve fornecer uma referência ao espaço de trabalho dessa compilação. Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializar no resultado propriedade da CreateWorkspace atividade. Se você estiver criando um processo de compilação se baseia em DefaultTemplate.xaml, provavelmente, você deve usar o Workspace variável.

  • Comment (String): Você pode especificar um comentário para o rótulo. Esta propriedade é equivalente a /comment opção do tf label comando.

  • Scope (String): Você pode especificar um escopo para o rótulo. Esta propriedade é equivalente à @scope argumento o tf label comando.

Para obter mais informações sobre tf label parâmetros, consulte Comando Label (Team Foundation Version Control).

Voltar ao topo

Arquivos de etiquetas (atividade de LabelSources)

Use o LabelSources a atividade de arquivos de etiquetas no controle de versão.

Dica

Freqüentemente você pode rotular a fonte de arquivos de código que você está construindo mais eficiente se você usar o LabelWorkspace atividade.

Propriedades do argumento de LabelSources

  • Items (IEnumerable<String>): Você deve especificar os itens que você deseja rotular. Cada String é equivalente a uma itemspec argumento o tf label comando.

  • Name (String): Você deve especificar o nome da etiqueta.

  • Scope (String): Você deve especificar um escopo para o rótulo. Esta propriedade é equivalente à @scope argumento o tf label comando.

  • Recursion (RecursionType): Você pode especificar Microsoft.TeamFoundation.VersionControl.Client.RecursionType.Full se você deseja rotular todos os arquivos em uma hierarquia de diretório. Caso contrário, você pode especificar Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel.

  • Version (String): Você deve fornecer a versão dos itens que você deseja rotular. Esta propriedade é equivalente a /version opção do tf label comando.

  • Child (LabelChildOption): Você pode especificar como lidar com os itens que já possuem rótulos que corresponder ao rótulo que você especificou. Esta propriedade é equivalente a /child a opção do tf label comando.

  • Comment (String): Você pode especificar um comentário para o rótulo. Esta propriedade é equivalente a /comment opção do tf label comando.

Para obter mais informações sobre tf label parâmetros, consulte Comando Label (Team Foundation Version Control).

Voltar ao topo

Trabalhar com itens de trabalho

Você pode trabalhar com itens de trabalho usando Team Foundation Build atividades:

  • Associar os conjuntos de alterações e itens com a criação de trabalho

  • Criar um item de trabalho

Criar um Item de trabalho (OpenWorkItem de atividade)

Use o OpenWorkItem a atividade para criar um item de trabalho.

O resultado de OpenWorkItem (WorkItem) propriedade

Retorna o novo item de trabalho.

Propriedades do argumento de OpenWorkItem

  • AssignedTo (String): Você deve especificar a pessoa a quem deseja atribuir o item de trabalho.

  • Title (String): Você deve especificar o título do item de trabalho.

  • Type (String): Você deve especificar o tipo de item de trabalho. Típica tipo de os valores incluem os exemplos a seguir: “Bug”, “Issue”, and “Task”.

  • Comment (String): Você pode adicionar um comentário no histórico do item de trabalho.

  • CustomFields (IDictionary<TKey, TValue><String,String>): Você pode especificar o valor de um ou mais campos do item de trabalho.

Voltar ao topo

Trabalhar com dados de símbolo

Você pode trabalhar com dados de símbolo usando duas Team Foundation Build atividades: IndexSources e PublishSymbols.

Um uso típico dessas atividades é habilitar a depuração de IntelliTrace. Se você deseja ativar a depuração de IntelliTrace, primeiro você deve chamar o IndexSources atividade para preparar os dados de símbolo e, em seguida, você deve chamar o PublishSymbols atividade para publicar os dados em um armazenamento de símbolo de SymStore.

Para obter mais informações sobre depuração de IntelliTrace, consulte Depuração com IntelliTrace.

Incorporar os caminhos de controle de versão e versões os dados de símbolo em seus arquivos de PDB (atividade de IndexSources)

Use o IndexSources a atividade para incorporar os caminhos de controle de versão e versões dos dados de símbolo em seus arquivos. PDB.

Propriedades do argumento de IndexSources

  • FileList (IEnumerable<String>): Você deve especificar o caminho completo e o nome de cada arquivo de símbolo. Você pode usar o FindMatchingFiles a atividade para fornecer esse argumento.

    Você pode usar ** para especificar uma pesquisa recursiva. Por exemplo, você poderia chamar FindMatchingFiles com o seguinte valor de MatchPattern propriedade: String.Format("{0}\**\*.pdb", BinariesDirectory).

Voltar ao topo

Publicar os símbolos para um armazenamento de símbolo de SymStore (PublishSymbols de atividade)

Use o PublishSymbols a atividade para publicar os dados de símbolo nos arquivos PDB para um armazenamento de símbolo de SymStore. Esta atividade é essencialmente um wrapper sobre SymStore.exe.

Observação importanteImportante

Dados podem ser corrompidos se a tentativa de compilações simultâneas publicar o mesmo compartilhamento de arquivos de símbolos. Para reduzir esse risco, você deve chamar essa atividade apenas dentro um SharedResourceScope atividade.

Preparar o seu armazenamento de símbolo de SymStore

Antes de usar o PublishSymbols atividade, você primeiro precisa preparar um armazenamento de símbolo de SymStore:

  1. Configure uma pasta para armazenar os símbolos em um servidor de compartilhamento de arquivos.

  2. Grant Controle total as permissões para o usuário conta com que o agente de compilação está sendo executado.

Para obter mais informações sobre o armazenamento de símbolo de SymStore, consulte os tópicos a seguir no site da Microsoft:

O resultado de PublishSymbols (String) propriedade

Retorna a ID de transação que SymStore.exe retorna.

Propriedades do argumento de PublishSymbols

  • FileList (IEnumerable<String>): Você deve especificar o caminho completo e o nome de cada arquivo de símbolo. Você pode usar o FindMatchingFiles a atividade para fornecer esse argumento.

    Por exemplo, você poderia chamar FindMatchingFiles com o seguinte valor de MatchPattern propriedade: String.Format("{0}\**\*.pdb", BinariesDirectory).

  • StorePath (String): Você deve especificar o caminho UNC do arquivo para a pasta raiz de armazenamento de símbolo de SymStore.

  • CommandLineArguments (String): Para obter informações sobre os argumentos adicionais que você pode passar para SymStore.exe, consulte Opções de linha de comando SymStore.

  • Comments (String): Você pode especificar os comentários da transação são registrados no arquivo de histórico de transações no armazenamento de símbolo. Esta propriedade é equivalente a /c Comment parâmetro da SymStore.exe comando. Para obter mais informações, consulte Opções de linha de comando SymStore.

  • ProductName (String): Você pode especificar o nome do produto é gravado no arquivo de histórico de transações no armazenamento de símbolo. Por exemplo, você pode definir essa propriedade para o nome da definição de compilação (Name), que pode ser obtido na BuildDefinition propriedade chamando GetBuildDetail. Esta propriedade é equivalente a /t Product parâmetro da SymStore.exe comando. Para obter mais informações, consulte Opções de linha de comando SymStore.

  • StoreCompressed (Boolean): Você pode definir esse valor como True para armazenar arquivos no armazenamento de símbolo, como arquivos compactados. Caso contrário, serão armazenados os arquivos descompactados. Esta propriedade é equivalente a /compress parâmetro da SymStore.exe comando. Para obter mais informações, consulte Opções de linha de comando SymStore.

  • Version (String): Por exemplo, você pode definir essa propriedade para o número de compilação (BuildNumber) que pode ser obtido chamando GetBuildDetail. Esta propriedade é equivalente a /v Version parâmetro da SymStore.exe comando. Para obter mais informações, consulte Opções de linha de comando SymStore.

Voltar ao topo

Obter referências a objetos úteis

Você pode obter referências a objetos úteis usando Team Foundation Build atividades.

Obtenha uma referência ao objeto para uma coleção de projeto de equipe (GetTeamProjectCollection de atividade)

Uso o GetTeamProjectCollection obter, a atividade do seu resultado propriedade, uma referência a um TfsTeamProjectCollection objeto. Este objeto starter é importante; Por exemplo, você pode usá-lo para se conectar a um servidor de camada de aplicativo para Team Foundation.

Obtenha uma referência ao objeto IBuildAgent (GetBuildAgent de atividade)

Uso o GetBuildAgent atividade para obter, do seu resultado propriedade, uma referência para o IBuildAgent objeto. Você pode usar essa atividade apenas em um AgentScope atividade.

Obtenha uma referência ao objeto IBuildDetail (GetBuildDetail de atividade)

Uso o GetBuildDetail atividade para obter, do seu resultado propriedade, uma referência para o IBuildDetail objeto. Você pode usar esse objeto para obter e em alguns casos, definir, dados sobre a compilação atual.

Voltar ao topo

Obtenha uma referência ao objeto BuildEnvironment (GetBuildEnvironment de atividade)

Use o GetBuildEnvironment atividade para obter, por meio sua resultado propriedade, uma referência para o BuildEnvironment objeto. Normalmente você pode usar essa propriedade para realizar as seguintes tarefas:

  • Use o Environment o objeto para determinar se o segmento atual do fluxo de trabalho está em execução no controlador de compilação ou o agente de compilação.

  • Use o CustomAssemblyPath o objeto para obter o caminho para os assemblies que contêm as atividades personalizadas no agente de compilação.

Voltar ao topo

Processo de compilação de atividades que não são destinadas a reutilização em um personalizado

Algumas atividades não são destinadas ao uso em um processo de compilação personalizada.

TfsBuild atividade

Ignore esta atividade. Ele existe somente para uso em UpgradeTemplate.xaml. Essa atividade não se destina a reutilização em um processo de compilação personalizada.

Atividade de CreateWorkspace

Você provavelmente nunca precisará criar ou modificar uma instância de CreateWorkspace atividade. Se você estiver criando um processo de compilação que requer um ou mais espaços de trabalho adicionais, você deve criar uma atividade personalizada para atingir essa meta.

Outras atividades do espaço de trabalho

Seu modelo de processo de compilação pode usar essas atividades da mesma maneira que o DefaultTemplatate.xaml os usa. Mas, a menos que você desenvolver uma atividade personalizada para criar um espaço de trabalho, você provavelmente nunca precisará criar ou modificar uma instância de um espaço de trabalho do seu modelo de processo de compilação personalizada.

DeleteWorkspace

Voltar ao topo

GetWorkspace

Voltar ao topo

RevertWorkspace

Voltar ao topo

SyncWorkspace

Voltar ao topo

Consulte também

Tarefas

Criar e trabalhar com os agentes de compilação

Exibir a janela de resultados de compilação

Conceitos

Definir uma compilação usando o modelo padrão

Criar e trabalhar com um controlador de compilação

Outros recursos

Designer de fluxo de trabalho de 2010 Visual Studio

O Windows Workflow Foundation

Referência do MSBuild