Team Foundation Criar atividades
As atividades de Team Foundation Build são componentes fundamentais do processo de compilação em seu sistema de Team Foundation Build.Você pode usar essas atividades para criar um processo de compilação personalizado para atender aos requisitos de equipe, como seguir lógica personalizada ou executar tarefas especializadas.
Na maioria dos casos, a melhor maneira de criar um processo personalizado de compilação de modelo é baseá-lo o Modelo Padrão (DefaultTemplate.xaml).Dessa maneira, você pode aproveitar funcionalidades geralmente úteis que já tenha sido criadas durante a customização de 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.
Importante |
---|
Você deve criar um processo de compilação personalizado somente se você precisa atender a requisitos especializados.Você pode usar DefaultTemplate.xaml para definir rapidamente um processo de compilação que atenda aos requisitos típicos.Para obter mais informações, consulte Definir um processo de compilação é baseado no modelo padrão. |
Neste tópico
Permissões Necessárias
Referência orientada a objetivos para as atividades
Referência alfabética para as atividades
Permissões exigidas
Para executar procedimentos que usam atividades Team Foundation Build, você deve ter as seguintes permissões definidas para Permitir:
Edição da definição de compilação
Fazer Check-out e Fazer check-in para diretórios relevantes de controle de versão (como o subdiretório BuildProcessTemplates do seu projeto em equipe)
Enfileirar compilações
Para obter mais informações, consulte Team Foundation Permissões do servidor.
Referência orientada a objetivos para as atividades
Executar Tarefas Básicas
Obter os valores das variáveis de ambiente
Testar Variáveis para Valores Nulos
Obter caminhos para arquivos no espaço de trabalho
Trabalhar com pastas
Obter o caminho para o diretório de trabalho do agente de compilação
Baixe arquivos que não estão em um espaço de trabalho
Localizar arquivos
Escreva avisos, erros, mensagens, e outros dados no log de compilação
Gravar metadados de compilação no depósito de dados
Controle o Processo de Compilação
Executar atividades no agente de compilação
Use uma estrutura chamada mutex para implementar um processo seguro em relação a threads
Restrinja seções do seu processo de compilação baseado na razão (disparo)
Compilar, Teste, e Realize Outras Tarefas
Use o MSBuild para compilar binários, executar análise de código, e realizar outras tarefas
Executar Testes
Obter uma lista de testes que são afetados pela compilação
Inicie um processo
Trabalhe com Controle de Versão
Associar conjuntos de alterações e itens de trabalho com a compilação
Fazer check-in em alterações com barreira
Avalie diretivas de check-in
Rotular arquivos em controle de versão
Obter uma lista de check-ins particulares
TfGet
TfResolve
TfShelve
TfUndo
TfUnshelve
TfWorkfold
Trabalhar com Itens de Trabalho
Associar conjuntos de alterações e itens de trabalho com a compilação
Criar um Item de Trabalho
Trabalhar com Dados de Símbolos
Inserir caminhos de controle de versão e versões nos dados de símbolos em seus arquivos .pdb
Publicar símbolos a uma reserva de símbolos SymStore
Obter Referências para Objetos Úteis
Obter uma referência a um objeto para uma coleção de projeto em equipe
Obter uma referência a um objeto para um agente de compilação
Obter uma referência a um objeto para um detalhe de compilação
Obter uma referência a um objeto para um ambiente de compilação
Referência alfabética para as atividades
AgentScope
ApproveRequestForCheckIn
AssociateChangesetsAndWorkItems
CheckInGatedChanges
ConvertWorkspaceItem
ConvertWorkspaceItems
CopyDirectory
CreateDirectory
CreateWorkspace
DeleteDirectory
DeleteWorkspace
DownloadDeArquivo
DownloadFiles
EvaluateCheckInPolicies
ExpandEnvironmentVariables
FindMatchingFiles
GenerateRunSettings
GetApprovedRequests
GetBuildAgent
GetBuildDetail
GetBuildDirectory
GetBuildEnvironment
GetCommonLocalPath
GetCommonServerPath
GetImpactedTests
GetPendingChanges
GetRejectedRequests
GetReshelvedShelveset
GetShelvedChanges
GetTeamProjectCollection
GetWorkspace
IndexSources
InvokeForReason
InvokeProcess
IsNotNull<T>
IsNull<T>
LabelSources
LabelWorkspace
MSBuild
MSTest
OpenWorkItem
ParseWorkspaceSpec
PublishSymbols
QueryShelvesets
RejectRequestFromCheckIn
RetryRequest
RetryRequests
RevertWorkspace
RunOnce
RunTests
SetBuildProperties
SharedResourceScope
SyncWorkspace
SynchronizeRequests
TfGet
TfQueryConflicts
TfResolve
TfShelve
TfUndo
TfUnshelve
TfWorkfold
TfsBuild
UpdateBuildNumber
WriteBuildError
WriteBuildInformation<T>
WriteBuildMessage
WriteBuildTestError
WriteBuildWarning
WriteCustomSummaryInformation
Executar tarefas básicas
Você pode usar atividades Team Foundation Build para executar as seguintes tarefas:
Obter os valores das variáveis de ambiente
Obter caminhos para arquivos no espaço de trabalho
Trabalhar com pastas
Obter o caminho para o diretório de trabalho do agente de compilação
Baixe arquivos que não estão em um espaço de trabalho
Localizar arquivos
Escreva avisos, erros, mensagens, e outros dados no log de compilação
Escreva metadados sobre a compilação
Obter os valores das variáveis de ambiente (atividade ExpandEnvironmentVariables)
Use a atividade ExpandEnvironmentVariables para resolver uma ou mais variáveis de ambiente em um servidor de compilação.As variáveis de ambiente são lidas no agente de compilação se esta atividade está em uma sequência AgentScope; caso contrário, são lidas no controlador de compilação.
Resultado 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 de Argumento de ExpandEnvironmentVariables
Entrada (String): Você deve especificar a string que contém as variáveis de ambiente que você deseja resolver.Você deve formatar cada variável de ambiente especificando uma propriedade MSBuild em vez de usar a notação de símbolo de porcentagem do Windows.Por exemplo: "The temporary directory on machine $(COMPUTERNAME) is $(TEMP)."
AdditionalVariables (IDictionary<TKey, TValue><String,String>): Você pode especificar um objeto IDictionary que contém todas as variáveis adicionais (como chaves) que você deseja resolver para seus valores correspondentes.
De volta ao topo
Testar variáveis para valores nulos
IsNotNull<T>
Use a atividade IsNotNull<T> para testar se uma expressão do Visual Basic, por exemplo uma variável que você está usando, que você fornece na propriedade Valor (Object) não é Null.O objeto do teste que é retornado pela propriedade ResultBoolean.
IsNull<T>
Use a atividade IsNull<T> para testar se uma expressão do Visual Basic, por exemplo uma variável que você está usando, que você fornece na propriedade Valor (Object) é Null.O objeto do teste que é retornado pela propriedade ResultBoolean.
Obter caminhos para arquivos no Espaço de Trabalho
Cada compilação tem um espaço de trabalho de controle de versão que é definido na guia de Espaço de Trabalho da definição de compilação.O espaço de trabalho fornece a compilação com acesso aos arquivos de código-fonte e todos os outros arquivos que ele precisar do sistema de controle de versão.Team Foundation Build fornece 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.
Dica |
---|
Para orientação passo a passo detalhadas sobre como usar a atividade ConvertWorkspaceItem 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 (atividade ConvertWorkspaceItem)
Use a atividade ConvertWorkspaceItem para converter um caminho do servidor para um caminho local no agente de compilação ou para converter um caminho local no agente de compilação a um caminho de servidor.
Resultado de ConvertWorkspaceItem (String) Propriedade
Retorna o caminho convertido.
Propriedades de Argumento ConvertWorkspaceItem
Entrada (String): Você deve fornecer o valor de caminho que você deseja converter.
Espaço de Trabalho (Workspace): Você deve fornecer uma referência a Workspace que contenha o arquivo.Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializa na propriedade Resultado da atividade CreateWorkspace.Se você estiver criando um processo de compilação baseado em DefaultTemplate.xaml, você provavelmente deve usar a variável Workspace.
Direção
Converter um caminho do servidor para um caminho local: Na propriedade Direção, selecione ServerToLocal, e então especifique o caminho para o arquivo no servidor na propriedade Entrada (String).
Por exemplo, sua equipe pode armazenar utilitários comuns no seguinte diretório: $/OurTeam/BuildProcess/Util.Você pode criar um processo de compilação personalizada que executa o utilitário ScanBinaries.exe depois que os binários são compilados.Se $/OurTeam/BuildProcess/Util é mapeado na guia Espaço de trabalho da sua definição de compilação, você pode especificar $/OurTeam/BuildProcess/Util/ScanBinaries.exe na propriedade Entrada para obter o caminho local para o utilitário da propriedade Resultado (String).
Converter um caminho local para um caminho de servidor: na propriedade Direção, selecione ServerToLocal, e então especifique o caminho local para o arquivo no agente de compilação na propriedade Entrada.
Obter os caminhos para arquivos em um espaço de trabalho (atividade ConvertWorkspaceItems)
Use a atividade ConvertWorkspaceItems para converter caminhos de servidor para caminhos locais no agente de compilação ou para converter caminhos locais no agente de compilação para caminhos de servidor.
Resultado ConvertWorkspaceItems (IList<String>) Propriedade
Retorna os valores de caminho convertidos.
Propriedades Argumento ConvertWorkspaceItems
Entrada (IEnumerable<T><String>): Você deve fornecer os valores de caminho que você deseja converter.
Espaço de Trabalho (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ê inicializa na propriedade Resultado da atividade CreateWorkspace.
Dica Se você estiver criando um processo de compilação baseado em DefaultTemplate.xaml, você provavelmente deve usar a variável Workspace.
Direção: Selecione um dos seguintes valores:
Selecione ServerToLocal se você está especificando uma coleção de valores do caminho do servidor na propriedade Entrada e você deseja que a propriedade Resultado retorne uma lista de valores de caminhos locais.
Selecione LocalToServer se você está especificando uma coleção de valores de caminho do servidor na propriedade Entrada e você deseja que a propriedade Resultado retorne uma lista de valores de caminhos locais.
Trabalhar com pastas
Você pode trabalhar com pastas usando várias atividades em Team Foundation Build.
Dica |
---|
Se você deve trabalhar com pastas que são parte do espaço de trabalho do controle de versão da sua compilação, em vez disso 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 (atividade CreateDirectory)
Use a atividade CreateDirectory para criar um diretório, cujo nome você especifica na propriedade Diretório (String).
Copiar um diretório (atividade CopyDirectory)
Use a atividade CopyDirectory para copiar recursivamente todo o conteúdo de um diretório, que você especifica na propriedade Origem (String), para outro diretório, que você especifica na propriedade Destino (String).O diretório que você especifica na propriedade Destino já deve existir.Diretórios ou subdiretórios vazios não são copiados.
Excluir um diretório (atividade DeleteDirectory)
Use a atividade DeleteDirectory para excluir um diretório, cujo nome você especificar na propriedade Diretório (String).Se o diretório que você está apagando contém subpastas, você deve definir a propriedade Recursivo (Boolean) como True; caso contrário, a compilação falhará.
Obter o Caminho para o Diretório de Trabalho do Agente de Compilação (atividade GetBuildDirectory)
Use a atividade GetBuildDirectory para obter o caminho literal para o diretório de trabalho do agente de compilação da propriedade Resultado (String).Você pode usar esta atividade apenas dentro de uma atividade AgentScope.
De volta ao topo
Manipular dados de caminho
Atividade GetCommonLocalPath
Use a atividade GetCommonLocalPath para obter o caminho para a pasta pai comum de nível mais baixo de uma ou mais pastas locais.Por exemplo, se você especificar LocalItems (IEnumerable<String>) como este:
{“c:\Code\Fabrikam-3\TestScrum\Main\FabrikamFiber.CallCenter”, “c:\Code\Fabrikam-3\TestScrum\Main\lib”}
Então Resultado (String) retornará:
c:\Code\Fabrikam-3\TestScrum\Main
Atividade GetCommonServerPath
Use a atividade GetCommonServerPath para obter o caminho para a pasta pai comum de nível mais baixo de uma ou mais pastas locais.Por exemplo, se você especificar ServerItems (IEnumerable<String>) como este:
{“$/TestScrum/Main/FabrikamFiber.CallCenter”, “$/TestScrum/Main/lib”}
Então Resultado (String) retornará:
$/TestScrum/Main
Baixe arquivos que não estão em um espaço de trabalho
Use a atividade DownloadFiles para baixar um ou mais arquivos.Ignorar a atividade DownloadFile.
Atividade DownloadFiles
Use a atividade DownloadFiles para baixar um ou mais arquivos do controle de versão.
Dica |
---|
Se os arquivos que você deseja baixar estão em seu espaço de trabalho de compilação, você deve provavelmente acessá-lo usando a atividade ConvertWorkspaceItem. |
Propriedades Argumento DownloadFiles
LocalPath (String) Você deve especificar um valor:
Se você estiver fazendo download de um único arquivo, especifique o caminho local e o nome que você deseja dar a cópia local do arquivo que você está fazendo download; por exemplo, "c:\Docs\readme.txt".
Se você estiver fazendo download de vários arquivos, especifique o caminho local para o diretório em que você deseja baixar os arquivos; por exemplo, "c:\Docs\".
ServerPath ()String) Você deve especificar um valor:
Se você estiver fazendo download de um único arquivo, especifique o caminho do servidor e o nome do arquivo que você está fazendo download; por exemplo, "$/Docs/readme.txt".
Se você estiver fazendo 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/".
Recursão (RecursionType):
OneLevel: Download do arquivo ou arquivos no diretório que você especificar na propriedade ServerPath.
Full: Baixa os arquivos no diretório especificado na propriedade ServerPath e em todos os arquivos nas subpastas.
Versão (String): Você pode especificar um versionspec.Para baixar a versão atual, deixe essa propriedade definida como Microsoft.TeamFoundation.VersionControl.Client.VersionSpec.Latest.DisplayString.Para obter mais informações sobre versionspecs, consulte Sintaxe de linha de comando.
DeletionID (Int32): Você deve especificar esta propriedade somente se você estiver fazendo 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 mais informações, consulte Dir Command).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.
De volta ao topo
Atividade DownloadFile
Ignorar a atividade DownloadFile.A atividade DownloadFiles é a maneira mais fácil para baixar um ou mais arquivos.
Localize arquivos (atividade FindMatchingFiles)
Use a atividade FindMatchingFiles para localizar arquivos.Especifique os critérios de pesquisa na propriedade MatchPattern (String).Nesta propriedade, você pode especificar um argumento que inclui os seguintes elementos:
A sintaxe que é suportada pelo argumento searchPattern do método DirectoryGetFiles(String, String).
** para especificar uma pesquisa recursiva.Por exemplo:
Para pesquisar o diretório de fontes por arquivos de texto, você pode especificar algo semelhante ao seguinte valor para a propriedade MatchPattern: String.Format("{0}\**\*.txt", SourcesDirectory).
Para pesquisar o diretório de fontes por arquivos de texto em um ou mais subdiretórios que são chamados txtfiles, você pode especificar que seja semelhante ao seguinte valor para a propriedade MatchPattern: String.Format("{0}\**\txtfiles\*.txt", SourcesDirectory).
Você coleta o resultado da operação na propriedade Resultado (IEnumerable<T><String>).
Escreva avisos, erros, mensagens, e outros dados no log de compilação
WriteCustomSummaryInformation
Use a atividade WriteCustomSummaryInformation para gravar uma mensagem no resumo de compilação, que é exibido para usuários na janela de resultados de compilação.
Propriedades Argumento WriteCustomSummaryInformation
Mensagem (String): Você deve especificar a mensagem que você deseja exibir no resumo de compilação.
Você pode incluir hiperlinks na mensagem usando uma dos seguintes sintaxes:
[link text](url) [link text] (url)
Por exemplo:
For the latest operation status, see [Fabrikam Fiber Ops] (http://intranet.fabrikam.com/ops/status).
SectionDisplayName (String): Você deve especificar o nome da seção em que você deseja que a mensagem seja exibida.Se várias instâncias de WriteCustomSummaryInformation com o mesmo valor de SectionKey especificam diferentes valores SectionDisplayName, o sistema usa SectionDisplayName da primeira instância no modelo de processo de compilação.
SectionKey (String): Você deve especificar um identificador para o nome da seção em que você deseja que a mensagem seja exibida.O valor que você especifica deve estar de acordo com as regras descritas em NameProperty.
Por exemplo, se você implementa duas instâncias de WriteCustomSummaryInformation com um valor SectionKey de “MySection”, quando a compilação for processada, ambas as mensagens aparecem na mesma seção no resumo de compilação.
SectionPriority (Int32): Você pode especificar a prioridade da seção, que determina por sua vez a posição relativa da seção no resumo de compilação.Quanto menor o valor, mais alto no resumo a seção será exibida.Se várias instâncias de WriteCustomSummaryInformation com o mesmo valor SectionKey especificam diferentes valores SectionPriority, o sistema usa o valor SectionPriority da primeira instância no modelo de processo de compilação.
De volta ao topo
Atividade WriteBuildMessage
Use a atividade WriteBuildMessage para gravar uma mensagem informativa no log de compilação.Você deve especificar a mensagem na propriedade Mensagem (String).Você também pode indicar a importância de mensagem alterando o valor da propriedade Importância (BuildMessageImportance).
Dica |
---|
|
Atividade WriteBuildWarning
Use a atividade WriteBuildWarning para gravar uma mensagem de aviso no log de compilação.Avisos aparecerão com um ponto de exclamação amarelo na janela de resultados de compilação.Você deve especificar a mensagem na propriedade Mensagem (String).
Os avisos de compilação são registrados em log somente quando sua equipe define a verbosidade como Mínima ou superior.Para obter mais informações, consulte Gerenciar a verbosidade de informações e controle de compilação.
Atividade WriteBuildError
Use a atividade WriteBuildError para gravar uma mensagem de erro de compilação no log de compilação.Erros aparecem com um ponto de exclamação vermelho na janela de resultados de compilação.Quando um erro é escrito no log de compilação, a compilação é classificada, no máximo, como Partially Succeeded.Você deve especificar a mensagem na propriedade Mensagem (String).
Erros são sempre registrados em log, independentemente da configuração de verbosidade.Para obter mais informações, consulte Gerenciar a verbosidade de informações e controle de compilação.
Atividade WriteBuildTestError
Use a atividade WriteBuildTestError para gravar uma mensagem de erro de teste no log de compilação.Erros aparecem com um ponto de exclamação vermelho na janela de resultados de compilação.Quando um erro é escrito no log de compilação, a compilação é classificada, no máximo, como Partially Succeeded.Você deve especificar a mensagem na propriedade Mensagem (String).
Erros são sempre registrados em log, independentemente da configuração de verbosidade.Para obter mais informações, consulte Gerenciar a verbosidade de informações e controle de compilação.
Atividade WriteBuildInformation<T>
Use a atividade WriteBuildInformation<T> para colocar um objeto no log de compilação.Quando um usuário visualiza o log na janela de resultados de compilação, o objeto é processado usando reflexão.
Propriedades Argumento WriteBuildInformation<T>
Valor (Object): Você deve especificar o objeto que você deseja colocar no log de compilação.Para que o objeto seja processado na janela de resultados de compilação, o objeto deve implementar IBuildInformationNode e definir Type como um dos seguintes valores InformationTypes:
ActivityProperties
ActivityTracking
AgentScopeActivityTracking
BuildError
BuildMessage
BuildProject
BuildStep
BuildWarning
ExternalLink
OpenedWorkItem
ParentToBuildDetail: Você pode especificar False para fazer o pai desse objeto ser o pai desta atividade, ou você pode especificar True para criar o pai do objeto IBuildDetail.
Um efeito desta propriedade é como a informação aparece na janela de resultado de compilação.Se você especificar False, a informação é recuada e alinhada com a saída de outras atividades que estão antes e depois da atividade WriteBuildInformation<T> e que estão no mesmo nível.Se você especificar True, a informação não é recuada.
De volta ao topo
Gravar metadados no Depósito de Dados
Você pode escrever metadados sobre a compilação no depósito de dados:
Escreva o Número de Compilação (atividade UpdateBuildNumber)
Grava Dados de Pontos Principais sobre a Compilação (atividade SetBuildProperties)
Dica |
---|
Se essas atividades não suportam os metadados que você deseja escrever, você pode usar a atividade GetBuildDetail para obter uma referência ao objeto IBuildDetail e atribuir os dados diretamente para o objeto usando essa referência. |
Escrever o número de compilação (atividade UpdateBuildNumber)
Use a atividade UpdateBuildNumber para definir o número (ou nome) da compilação.Esta atividade executa as seguintes etapas:
Constrói um número de compilação baseado em uma expressão que determina o formato desse número de compilação.Seu processo de compilação normalmente aceita esta expressão de um argumento de fluxo de trabalho, que é fornecido por um parâmetro na guia Processo de uma definição de compilação.
Define o número de compilação (ou o nome) de compilação escrevendo o valor resultante para a propriedade BuildNumber.
Resultado UpdateBuildNumber (String) Propriedade
Resultado: retorna o novo valor BuildNumber.
Propriedades UpdateBuildNumber
- BuildNumberFormat (String): Você deve fornecer uma expressão que especifica o formato de números de compilação.Para obter informações sobre a sintaxe da expressão, consulte Trabalhar com números de compilação.
De volta ao topo
Escrever pontos de dados principais na compilação (atividade SetBuildProperties)
Use SetBuildProperties para gravar dados de pontos principais para o objeto IBuildDetail, que gerencia o armazenamento de dados sobre cada compilação no depósito de dados.Muitos desses dados aparecem para o usuário na janela de resultados de compilação.
Propriedades 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 de compilação, que você pode pensar como o nome da compilação.
Dica Se você deseja definir esse valor com base em configurações especificadas pelo usuário na guia Processo da definição de compilação, você provavelmente deve usar a atividade UpdateBuildNumber em vez desta propriedade.
CompilationStatus (BuildPhaseStatus): Você pode definir o status de compilação (CompilationStatus).(A atividade MSBuild também define automaticamente esse valor.)
DropLocation (String): Você pode registrar o local para colocação na propriedade DropLocation.
Observação Se você definir essa propriedade, você não cria realmente o local da operação.Em vez disso, você usa essa propriedade para armazenar, no depósito de dados, o local da pasta-depósito, que você normalmente cria usando a atividade CreateDirectory.
KeepForever (Boolean): Você pode definir a propriedade KeepForever como True se você deseja ignorar configurações na guia Diretiva de Retenção da definição de compilação e manter indefinidamente a compilação concluída.
LabelName (String): Você pode definir a propriedade LabelName para registrar o rótulo que você usou para marcar esta compilação em arquivos de código-fonte em controle de versão.Normalmente, você define essa propriedade para corresponder ao valor na propriedade Nome da atividade LabelWorkspace.
Importante Team Foundation Build requer esses dados para associar conjuntos de alterações e itens de trabalho com compilações.Se você não fornecer esses dados, a atividade AssociateChangesetsAndWorkItems falhará.
LogLocation (String): Você pode usar o registro de propriedade LogLocation o caminho do arquivo UNC para a pasta onde o processo de compilação coloca o arquivo de log.
Observação Você provavelmente não precisará usar esta propriedade no processo de compilação personalizada.Esta propriedade destina-se principalmente para o arquivo UpgradeTemplate.xaml suportar processos herdados de compilação.
Qualidade (String): Você pode registrar a qualidade de compilação na propriedade Quality.
SourceGetVersion (String): Você pode usar a propriedade SourceGetVersion para registrar a especificação de versão para a qual as fontes são recuperadas para esta compilação.
Status (BuildStatus): Você pode registrar o status total de compilação na propriedade Status.Por exemplo, você pode usar essa propriedade para indicar se a compilação teve êxito ou falha.
TestStatus (BuildPhaseStatus): Você usa a propriedade TestStatus para registrar o status total de testes que foram executados nesta compilação.Por exemplo, você pode usar essa propriedade para indicar se os testes que você executou nesta compilação tiveram êxito ou falha.
De volta ao topo
Controle o Processo de Compilação
Você pode usar atividades Team Foundation Build para controlar das seguintes maneiras o processo de compilação:
Executar atividades no agente de compilação
Use uma estrutura chamada mutex para implementar um processo seguro em relação a threads
Restrinja seções do seu processo de compilação baseado na razão (disparo)
Execute atividades no agente de compilação (atividade AgentScope)
Use a atividade AgentScope para incluir as partes do seu processo de compilação que você deseja executar no agente de compilação.
Propriedades Argumento AgentScope
Seleção de Agente
MaxWaitTime (TimeSpan): Você pode especificar a quantidade de tempo máxima que o processo de compilação espera até que um agente de compilação esteja disponível.Você pode digitar um valor no formato 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 for 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 ao controlador de compilação tempo ilimitado para localizar um agente de compilação para processar esta definição de compilação.
Importante Você pode evitar fazer backup de sua compilação especificando um valor não nulo razoável na propriedade MaxWaitTime.
ReservationSpec (AgentReservationSpec): Você pode restringir o tipo de agente de compilação que irá processar as atividades que esta atividade contém.Por exemplo, você pode especificar que apenas os agentes de compilação que têm uma determinada marca sejam usados para processar as atividades dentro da atividade AgentScope.
Execução
MaxExecutionTime (TimeSpan): Você pode especificar a quantidade de tempo máxima que é permitida para esta atividade AgentScope ser concluída.Você pode digitar um valor no formato 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 tiver concluído seu trabalho após 4 horas, 30 minutos e 15 segundos.Especifique um valor de 00:00:00 se você deseja dar ao agente de compilação tempo ilimitado para processar a compilação.
Dica Você pode evitar fazer backup da sua fila de compilação especificando um valor não nulo razoável na propriedade MaxExecutionTime.
Escopo
- DataToIgnore: Ignorar esta propriedade.
De volta ao topo
Use uma estrutura chamada mutex para implementar um processo seguro em relação a Threads (atividade SharedResourceScope)
Use a atividade SharedResourceScope para implementar uma estrutura chamada mutex (exclusão mútua) para garantir que o segmento encapsulado do seu processo de compilação seja seguro em relação a threads.
Um uso típico desta atividade é incluir as partes de um processo de compilação que deve acessar um recurso compartilhado que deve ser acessado somente por um processo de cada vez.Por exemplo, você pode querer suas compilações para escrever, em ordem sequencial, em um único arquivo de texto em um compartilhamento de arquivos.Para garantir que esse tipo de processo funcione corretamente, você deve implementá-lo em uma atividade SharedResourceScope.
Você pode localizar outro exemplo em DefaultTemplate.xaml, no qual a chamada da atividade PublishSymbols é inserida em uma atividade SharedResourceScope:
Sequencia (Sequence) >
Executar no Agente (AgentScope) >
Tentar Compilar, Testar e Associar Itens de Trabalho e Conjuntos de Mudanças (TryCatch [Try]) >
Sequencia (Sequence) >
Obter Testes Impactados, Indexar Fontes e Publicar Símbolos (Parallel) >
Se SourceAndSymbolServerSettings.IndexSources Ou SourceAndSymbolServerSettings.HasSymbolStorePath (If [Then]) >
Indexar Fontes e Publicar Símbolos para Compilações Disparadas (InvokeForReason) >
Se SourceAndSymbolServerSettings.HasSymbolStorePath (If [Then]) >
Tentar Publicar Símbolos (TryCatch [Try]) >
Sincronizar o Acesso ao Armazenamento de Símbolos (SharedResourceScope) >
Publicar Símbolos (PublishSymbols)
Para obter informações sobre como navegar essa estrutura, consulte Navegar em um fluxo de trabalho do Windows complexo.
Propriedades Argumento SharedResourceScope
ResourceName (String): Você deve especificar um valor.Todas as instâncias de atividades SharedResourceScope são executadas uma de cada vez se elas possuírem o mesmo valor ResourceName em sua coleção de projetos de equipe (mesmo se elas estiverem em diferentes modelos de definição de compilação).
MaxExecutionTime (TimeSpan): Você pode especificar a quantidade de tempo máxima que é permitida para a atividade SharedResourceScope ser concluída.Você pode digitar um valor no formato 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 a atividade SharedResourceScope não estiver concluída após 4 horas, 30 minutos e 15 segundos.Especifique um valor de 00:00: 00 se você deseja permitir tempo ilimitado para processar a atividade SharedResourceScope.
Dica Você pode evitar fazer backup da sua fila de compilação especificando um valor não nulo razoável na propriedade MaxExecutionTime.
MaxWaitTime (TimeSpan): Você pode especificar a quantidade de tempo máxima de espera para o processo de compilação na fila processar a atividade SharedResourceScope.Você pode digitar um valor no formato 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 atividade SharedResourceScope não estiver processada depois de 1 hora, 30 minutos e 45 segundos.Especifique um valor de 00:00:00 se você deseja permitir ao processo de compilação tempo ilimitado de espera na fila.
Dica Você pode evitar fazer backup de sua compilação especificando um valor não nulo razoável na propriedade MaxWaitTime.
De volta ao topo
Restrinja seções do processo de compilação baseado na razão (disparador) (atividade InvokeForReason)
Use a atividade InvokeForReason para incluir um segmento do processo de compilação que você deseja executar somente nas compilações que foram executadas para um motivo específico.As razões de compilação normalmente são definidas pelo disparador que o usuário seleciona na guia Disparador de definição de compilação.Você pode especificar, na propriedade Razão, um ou mais valores de razão que você deseja permitir.Para obter mais informações, consulte Especificar disparadores e as razões de compilação.
De volta ao topo
Compile, teste e realize outras tarefas
Você pode usar atividades Team Foundation Build para compilar binários, executar teste e realizar outras tarefas:
Use o MSBuild para compilar binários, executar análise de código, e realizar outras tarefas
Executar Testes
Obter uma lista de teste que esta compilação afeta
Use o MSBuild para compilar binários, executar análise de código e realizar outras tarefas (atividade MSBuild)
Use a atividade MSBuild para compilar binários, executar análise de código e tirar proveito de qualquer outra funcionalidade que MSBuild forneça.
Resultado MSBuild
Nenhuma propriedade com esta atividade retorna um resultado.No entanto, esta atividade define CompilationStatus como Failed se quaisquer erros de compilação forem conectados.
Propriedades Argumento MSBuild
AdditionalVCOverrides (String): Se você definir GenerateVsPropsFile como True, o conteúdo dessa propriedade será inserido no arquivo .vsprops gerado.
CommandLineArguments (String): Você pode especificar os argumentos de linha de comando que você deseja passar a MSBuild.
Configuração (String): Você pode especificar a configuração a ser criada.Por exemplo: “debug” ou “release”.
GenerateVSPropsFile (Boolean): Se essa propriedade estiver definida como True, MSBuild gera um arquivo .vsprops padrão para passar para projetos C++.Este arquivo incluirá o diretório de saída para projetos C++ e o que você especificar na propriedade AdditionalVCOverrides.
LogFile (String): Você pode especificar o nome do arquivo de log que MSBuild deve criar.
LogFileDropLocation (String): Você pode especificar o caminho UNC totalmente qualificado para o diretório onde você deseja que MSBuild descarregue 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 descarrega os binários compilados.Para obter mais informações, consulte Controlar onde o sistema de compilação coloca seus binários.
Plataforma (String): Você pode especificar a plataforma para a qual MSBuild compila.Por exemplo: “Any CPU”, “x86” ou “x64”.
Projeto (String): Você pode especificar a solução ou o projeto de código que MSBuild cria.
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 ser sempre executada, nunca deve ser executada ou deve ser executada de acordo com as configurações do projeto.
Targets (IEnumerable<T><String>): Você pode especificar os destinos para compilar.
TargetsNotLogged (IEnumerable<T><String>): Você pode especificar os destinos para os quais os eventos de ProjectStarted não devem ser registrados em log.
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 de log que MSBuild produz.
Para obter mais informações sobre várias opções de MSBuild que as propriedades MSBuild afetam, consulte Referência de linha de comando MSBuild.
De volta ao topo
Executar testes
Você pode executar testes usando a atividade RunTests ou a atividade MSTest.
Executar testes usando a atividade RunTests
Use a atividade RunTests para usar o Executor de Teste Agile para executar testes.Se sua compilação compila e testa binários com plataformas incompatíveis, você deve executar esta atividade separadamente com as montagens em cada plataforma.
Para mais informações, como as vantagens e desvantagens deste executor de testes, consulte Teste de execução em seu processo de compilação.
Propriedades RunTests Principal
TestSources (IEnumerable<String>): Você deve especificar uma lista dos arquivos de assembly que contêm os testes que você deseja executar.
ExecutionPlatform (ExecutionPlatformType) Você pode especificar a plataforma dos binários que você deseja testar.Para obter mais informações, consulte Executor de Teste Agile.
ExecutionTimeout (Int32): Você pode especificar a quantidade de tempo máximo que o processo de compilação espera para que a execução do teste seja concluída.Especifique um valor de 0 se você deseja dar a atividade RunTests tempo ilimitado para executar testes.
KeepAlive (Boolean): Você pode definir essa propriedade como True se você desejar que o processo Executor de Teste Agile continue a executar no agente de compilação após que a última atividade RunTests seja concluída.
RunSettings (String): Não documentado.
TestCaseFilter (String): Você pode usar essa propriedade para executar um subconjunto das suas situações de teste.Para obter mais informações, consulte Especifique os critérios para os testes executados pelo Executor de Teste do Visual Studio.
UpdateFrequency (Int32): Não documentado.
UpdateFrequencyTimeout (Int32): Não documentado.
Propriedades de Publicação de RunTests
Você pode usar as seguintes propriedades para publicar os resultados do teste para a coleção de projetos da equipe.
PublishResults (Boolean): Você deve definir essa propriedade como True se você deseja publicar resultados de teste.
Sabor (String): Você pode especificar o sabor da compilação contra a qual você executa os testes cujos resultados você deseja publicar.
Plataforma (String): Você pode especificar a plataforma da compilação na qual você executa os testes cujos resultados você deseja publicar.
RunName (String): Você pode especificar o nome da execução de teste.Clientes do seu processo de compilação irão ver esse nome no resumo da janela de resultados de compilação.Se você não fornecer um nome, o sistema irá gerar automaticamente um.
Delegados
OnTestCompleted: Não documentado.
OnTestRunCompleted: Não documentado.
De volta ao topo
Executar testes usando a atividade MSTest
Use esta atividade para executar testes usando MSTest.exe.Para mais informações, como as vantagens e desvantagens deste executor de testes, consulte Teste de execução em seu processo de compilação.
Propriedades de Núcleo MSTest
Para começar, decida como você deseja executar os testes, e então especifique valores para as propriedades adequadas.
Para executar um teste em um recipiente de teste (abordagem recomendada), use as propriedades a seguir:
TestContainers (IEnumerable<String>): Você deve especificar os recipientes de teste dos testes que você deseja executar.Esta propriedade é equivalente à opção /testcontainer do comando MSTest.exe.Para obter mais informações, consulte /testcontainer.
SearchPathRoot (String): Você pode especificar a raiz do caminho para o diretório no qual procurar por recipiente de teste e por suas dependências.Se você não especificar um valor, a atividade de MSTest tentará localizar os arquivos em locais típicos.
TestSettings (String): Você pode especificar um arquivo de configuração de execução de teste para usar.Esta propriedade é equivalente à opção /testsettings do comando MSTest.exe.Para obter mais informações, consulte /testsettings.
Para executar um teste em listas de teste, use as propriedades a seguir:
TestLists (IEnumerable<String>): Você deve especificar as listas de teste que você deseja executar.Esta propriedade é equivalente à opção /testlist do comando MSTest.exe.Para obter mais informações, consulte /testlist e Listas de definição de teste para agrupar os testes.
TestMetadata (String): Você deve especificar o arquivo de metadados que contém as listas de teste que você deseja executar.Esta propriedade é equivalente à opção /testmetadata do comando MSTest.exe.Para obter mais informações, consulte /testmetadata.
Propriedades de Filtragem de MSTest
Você pode usar as seguintes propriedades para filtrar os testes que são executados:
Categoria (String): Você pode filtrar os testes com base em suas categorias de teste.Está propriedade é equivalente à opção /category do comando MSTest.exe.Para obter mais informações, consulte /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 os testes cuja prioridade é menor ou igual a esse valor serão executados.Você deve especificar um inteiro positivo que é igual ou maior que a propriedade MinPriority, você deve especificar -1 se você não deseja especificar uma prioridade máxima.
Dica Se você tiver atribuído prioridades a seus testes, as propriedades MinPriority e MaxPriority podem ser um mecanismo importante para ajudá-lo a definir um equilíbrio entre testes completos e construções mais rápida.
MinPriority (Int32): Você pode especificar a prioridade mínima de teste que você deseja executar.Somente os testes cuja prioridade é maior ou igual a esse valor serão executados.Você deve especificar um inteiro positivo que seja igual ou menor que a propriedade MaxPriority, você deve especificar -1 se não deseja especificar uma prioridade mínima.
TestNames (IEnumerable<String>): Você pode especificar os nomes dos testes que você deseja executar.Esta propriedade é equivalente à opção /test do comando MSTest.exe.Para obter mais informações, consulte /test.
Propriedades de Publicação MSTest
Você pode usar as seguintes propriedades para publicar os resultados do teste para a coleção de projetos da equipe.
Publicar (Boolean): Você deve definir essa propriedade como True se você deseja publicar resultados de teste.
Sabor (String): Você pode especificar o sabor da compilação contra a qual você executa os testes cujos resultados você deseja publicar.Esta propriedade é equivalente à opção /flavor do comando MSTest.exe.Para obter mais informações, consulte Opções de linha de comando para publicação de resultados de teste.
Plataforma (String): Você pode especificar a plataforma da compilação na qual você executa os testes cujos resultados você deseja publicar.Esta propriedade é equivalente à opção /platform do comando MSTest.exe.Para obter mais informações, consulte Opções de linha de comando para publicação de resultados de teste.
TestConfigId (Int32): Você pode especificar a identificação de uma configuração de gerenciamento de teste existente para associar ao ensaio cujos resultados você deseja publicar.Esta propriedade é equivalente à opção /testconfigid do comando MSTest.exe.Para mais informações, execute MSTest /? no prompt de comando Visual Studio.
TestConfigName (String): Você pode especificar o nome de uma configuração de gerenciamento de teste existente para associar ao ensaio cujos resultados você deseja publicar.Esta propriedade é equivalente à opção /testconfigname do comando MSTest.exe.Para mais informações, execute MSTest /? no prompt de comando Visual Studio.
Outras Propriedades MSTest
CommandLineArguments (String): Para obter informações sobre opções de linha de comando adicionais que você pode especificar Opções de linha de comando do MSTest. exe, consulte.
PathToResultsFilesRoot (String): Você pode especificar a raiz do caminho para o diretório no agente de compilação MSTest.exe onde colocar os arquivos de resultados (arquivos .trx).
ToolPath (String): Você pode especificar o caminho para o diretório que contém a versão de MSTest.exe que você deseja executar.Se você não especificar um caminho, Team Foundation Build determina automaticamente o caminho com base nos dados em suas listas de teste ou recipientes de teste.
De volta ao topo
Obter uma lista de teste que afeta a compilação (atividade GetImpactedTests)
Use a atividade GetImpactedTests para identificar alterações de código na compilação atual e para gerar uma lista de testes que são afetados por essas alterações.A atividade grava a lista de testes afetados pelo depósito de dados para ajudar membros de sua equipe de teste a determinar quais testes eles devem executar após esta compilação ser concluída.Para obter mais informações sobre como sua equipe pode usar esses dados, consulte Localizando os testes afetados por alterações de código.
Observação |
---|
Esta atividade não tem efeito na compilação de check-in com barreira ou em compilações particulares. |
Condições Exigidas
A atividade GetImpactedTests pode funcionar somente quando as seguintes condições forem verdadeiras:
A atividade MSTest foi executada com um arquivo de configurações de teste (especificado na propriedade TestSettings ) que coleta dados de impacto de teste.Você pode usar o arquivo Traceandtestimpact.testsettings, que é gerado automaticamente, ou você pode usar outro arquivo de configurações de teste em que a caixa de seleção Impacto de Teste é selecionada.Para obter mais informações, consulte Como: coletar dados para verificar quais testes devem ser executados após alterações de código.
A atividade GetImpactedTests identificou com êxito a compilação anterior.Para mais informações, veja a próxima seção.
Como a Atividade GetImpactedTests Identifica a Compilação Anterior
A atividade GetImpactedTests produz resultados comparando a compilação atual com a compilação anterior.A atividade identifica a compilação anterior usando o seguinte processo:
Se você especificar a propriedade BaselineBuildDropLocation, a compilação que gerou os binários é identificada como a compilação anterior.
Se você não especificar a propriedade BaselineBuildDropLocation, a atividade identifica a compilação anterior procurando no depósito de dados pela compilação mais recente que corresponda a todos os seguintes critérios:
A compilação tem o mesmo BuildDefinitionUri que 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 de check-in com barreira ou uma compilação particular.
Propriedades de Resultado de GetImpactedTests
CodeChanges (CodeChangeList): Retorna uma lista das alterações que foram feitas para cada método no seu código entre esta compilação e a compilação anterior.Os métodos são analisados a nível da Microsoft intermediate language (MSIL).
ImpactedTests (TestList): Retorna uma lista dos testes que foram afetados pelas alterações de código entre a compilação anterior e esta compilação.
Propriedades de Argumento de GetImpactedTests
Diversos
- Compilar: Você deve fornecer o objeto IBuildDetail da compilação.Você pode usar a atividade GetBuildDetail para obter uma referência a esse objeto.
Diversos
Assemblies (IEnumerable<String>): Você deve especificar uma lista de módulos (assemblies) que você deseja que esta atividade examine.Normalmente você criar esses assemblies na compilação.
AssociatedChangesets (IList<T><Changeset>): Você pode especificar os conjuntos de alterações que você deseja associar com os resultados de impacto de teste.Normalmente você deseja especificar os conjuntos de alterações que você está criando.Você pode obter uma referência a esses conjuntos de alterações a partir da atividade AssociateChangesetsAndWorkItems.
BinariesRoot (String): Você deve especificar o caminho para os binários que dependem de seus assemblies.Você pode obter esse valor usando a atividade GetBuildDirectory.
Espaço de trabalho (Workspace): Você deve fornecer uma referência ao espaço de trabalho de sua compilação.Você pode obter essa referência da propriedade Resultado da atividade CreateWorkspace.
BaselineBuildDropLocation (String): Você pode especificar o caminho para a pasta-depósito que contém a compilação concluída que você deseja que a atividade GetImpactedTests compare com a compilação atual.Se você não especificar esta propriedade, a atividade tenta consultar o sistema de compilação para a compilação anterior.Para obter mais informações, consulte “Como a Atividade GetImpactedTests Identifica a Compilação Anterior” anteriormente nesta seção.
De volta ao topo
Iniciar um processo (atividade InvokeProcess)
Use a atividade InvokeProcess para iniciar um processo (executar um programa) no servidor de compilação.Esta atividade é basicamente um invólucro sobre Start.
Resultado de InvokeProcess (Int32) Propriedade
Retorna o ExitCode do processo.
Propriedades de 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
Argumentos (String): Você pode especificar os 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 que é usada para ler os fluxos de saída (StandardOutputEncoding) e de erro (RedirectStandardError).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 a pasta de trabalho (WorkingDirectory) na qual deseja executar o processo.
Por exemplo, você pode desejar executar seu utilitário MarkBins.exe com suas binários compilados.Para restringir o escopo em que o utilitário executa, você poderia chamar GetBuildDirectory e colocar o resultado nessa propriedade.
Para exibir as saídas padrão e de erro do seu processo
Na última atividade InvokeProcess, clique duas vezes Clique duas vezes em para exibir.
Arraste uma atividade WriteBuildMessage da Caixa de Ferramentas para que a atividade apareça sob Handle Standard Output, e defina a propriedade WriteBuildMessageMessage como stdOutput.
Arraste uma atividade WriteBuildError da Caixa de Ferramentas para que ela apareça sob Handle Standard Output, e defina a propriedade WriteBuildMessageMessage como errOutput.
Trabalhe com controle de versão
Você pode usar atividades Team Foundation Build para executar as seguintes tarefas de controle de versão:
Associar conjuntos de alterações e itens de trabalho com a compilação
Fazer check-in em alterações com barreira
Avalie diretivas de check-in
Rotular arquivos em controle de versão
Associar itens de trabalho e conjuntos de alterações com a compilação (atividade AssociateChangesetsAndWorkItems)
Use a atividade AssociateChangesetsAndWorkItems para vincular cada compilação concluída com todos os conjuntos de alterações que são digitadas no código e seus itens de trabalho associados.
Cada definição de compilação mantém seu próprio registro dos conjuntos de alterações e os itens de trabalho ficam aguardando para serem associados com a próxima compilação concluída.Por exemplo, Compilação A e Compilação B podem criar o conjunto de alterações 382.Compilação A é colocada na fila e concluída com êxito, mas a compilação B é colocada na fila e falha.Conjunto de alterações 382 é agora associado com a compilação concluída com êxito A e com a B com falha da compilação. Conjunto de alterações 382 não será vinculada com a compilação em seguida da compilação concluída A, mas será vinculada com a compilação concluída com êxito a seguir da compilação B.
Resultado de AssociateChangesetsAndWorkItems (IList<T><Changeset>) Propriedade
Retorna os conjuntos de alterações que foram associados à compilação.
Propriedades de Argumento de AssociateChangesetsAndWorkItems
CurrentLabel (String): Deixe essa propriedade vazia.
LastLabel (String): Deixe essa propriedade vazia.
UpdateWorkItems (Boolean): Você pode definir o valor desta propriedade como True se você deseja preencher o campo Fixed In dos itens de trabalho associados com o número de compilação.Caso contrário, defina o valor para False.
De volta ao topo
Alterações check in com barreira (atividade CheckInGatedChanges)
Use a atividade CheckInGatedChanges para fazer o check-in para controle de versão das alterações de código que dispararam uma compilação de check-in com barreira.Esta atividade também associa a compilação com itens de trabalho que estão associados com conjuntos de alterações.
Observação |
---|
Para funcionar corretamente, esta atividade deve ser colocada depois de todas implementações das atividades MSBuild e MSTest no seu modelo. |
Resultado de CheckInGatedChanges (Changeset) Propriedade
Retorna o conjunto que contém as alterações que estão sendo feitas.
Propriedades de Argumento de CheckInGatedChanges
IgnoreErrors (Boolean): Defina essa propriedade como False para permitir que os arquivos sejam verificados somente se as propriedades de ambas CompilationStatus e TestStatus têm um valor de Succeeded.Defina essa propriedade como True para permitir que os arquivos sejam verificados independentemente dos valores dessas propriedades.
Observação Você pode usar a atividade SetBuildProperties para definir as propriedades CompilationStatus e TestStatus.
UpdateWorkItems (String): Definir esse valor para True se você deseja preencher o campo Fixed In dos itens de trabalho associados com o número de compilação.Caso contrário, defina como False.
De volta ao topo
Avalia as políticas de check-in (atividade EvaluateCheckInPolicies)
Use a atividade EvaluateCheckInPolicies para executar as políticas de check-in no servidor de compilação.Esta atividade executa as políticas de check-in que estão em vigor para as pastas que são especificadas na guia Espaço de trabalho da definição de compilação.A compilação falha se as políticas de check-in falharem e a razão para a compilação é CheckInShelveset (uma compilação de check-in com barreira) ou ValidateShelveset (uma compilação privada).
Importante |
---|
As políticas de check-in são avaliadas no servidor de compilação, não no computador cliente do desenvolvedor. |
O uso mais eficiente desta atividade é garantir portas de qualidade mais robustas usando-a juntamente com uma compilação de check-in com barreira.Se você usar a atividade assim, o usuário é bloqueado de ignorar as políticas de check-in.Esta atividade é útil para os seguintes tipos de políticas de check-in:
A política de check-in interno de Work Items.
Políticas de check-in personalizadas que são projetadas para serem avaliadas no servidor de compilação
Esta atividade não é útil para avaliar Builds ou as políticas de check-in internos de Code Analysis porque você pode executar com mais eficiência esses processos em uma compilação diretamente usando MSBuild e atividades de MSTest .
Para obter mais informações, consulte os seguintes recursos:
Para obter informações sobre as políticas de check-in internas, consulte Add Check-In Policies.
Para obter informações sobre as políticas de check-in personalizadas, consulte Como: Criar políticas de check-in personalizadas no Visual Studio Team Foundation Server.
Para obter informações sobre as compilações de check-in com barreira, consulte Definir um processo de compilação Gated Check-In para validar as alterações
Para obter informações sobre as compilações particulares, consulte Uma compilação de fila
Propriedades de Argumento de EvaluateCheckInPolicies
- Espaço de trabalho (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ê inicializa na propriedade Resultado da atividade CreateWorkspace.Se você estiver criando um processo de compilação baseado em DefaultTemplate.xaml, você provavelmente deve usar a variável Workspace.
De volta ao topo
Rotular arquivos em controle de versão
você pode rotular arquivos usando atividades Team Foundation Build:
Rotular o código-fonte que você está criando
Rotular arquivos
Rotular o código-fonte que você está criando (atividade LabelWorkspace)
Você deve rotular arquivo de código-fonte em controle de versão para que sua equipe possa facilmente identificar qual versão de cada arquivo é incluída em uma determinada compilação concluída.Use a atividade LabelWorkspace para incluir essa etapa do processo de compilação.
Propriedades de Argumento de LabelWorkspace
Name (String): Você deve especificar o nome do rótulo.
Child (LabelChildOption): Você pode especificar como manipular os itens que já tenham rótulos que correspondem ao rótulo que você especificou.Esta propriedade é equivalente à opção /child do comando tf label.
Espaço de trabalho (Workspace): Você deve fornecer uma referência ao espaço de trabalho da compilação.Na maioria dos casos, você deve definir essa propriedade para a variável que você inicializa na propriedade Resultado da atividade CreateWorkspace.Se você estiver criando um processo de compilação baseado em DefaultTemplate.xaml, você provavelmente deve usar a variável Workspace.
Comment (String): Você pode especificar um comentário do rótulo.Esta propriedade é equivalente à opção /comment do comando tf label.
Escopo (String): Você pode especificar um escopo para o rótulo.Esta propriedade é equivalente ao argumento @scope do comando tf label.
Para mais informações sobre parâmetros tf label, consulte Label Command (Team Foundation Version Control).
De volta ao topo
Rotular Arquivos (atividade LabelSources)
Use a atividade LabelSources para rotular arquivos em controle de versão.
Dica |
---|
Você pode frequentemente rotular os arquivos de código-fonte que você está criando mais efetivamente se você usar a atividade LabelWorkspace. |
Propriedades de Argumento de LabelSources
Itens (IEnumerable<String>): Você deve especificar os itens que você deseja rotular.Cada String é equivalente a um argumento itemspec do comando tf label.
Name (String): Você deve especificar o nome do rótulo.
Escopo (String): Você deve especificar um escopo para o rótulo.Esta propriedade é equivalente ao argumento @scope do comando tf label.
Recursão (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.
Versão (String): Você deve fornecer a versão dos itens que você deseja rotular.Esta propriedade é equivalente à opção /version do comando tf label.
Child (LabelChildOption): Você pode especificar como manipular os itens que já tenham rótulos que correspondem ao rótulo que você especificou.Esta propriedade é equivalente à opção /child do comando tf label.
Comment (String): Você pode especificar um comentário do rótulo.Esta propriedade é equivalente à opção /comment do comando tf label.
Para mais informações sobre parâmetros tf label, consulte Label Command (Team Foundation Version Control).
De volta ao topo
Obter uma lista de check-ins particulares (atividade QueryShelvesets)
Use a atividade QueryShelvesets para obter uma lista de check-ins particulares que atendem aos critérios.Você pode usar a atividade TfUnshelve para recuperar o conteúdo dos check-ins particulares.
Resultado de QueryShelvesets (IList<T><Shelveset>)
Propriedades de Argumento de QueryShelvesets
VersionControlServer (VersionControlServer): Você deve especificar VersionControlServer.
Atividade TfGet
Esta atividade envolve Comando Get.
Atividade TfResolve
Esta atividade envolve o Resolve Command.
Atividade TfShelve
Esta atividade envolve o Shelve comando.
Atividade TfUndo
Esta atividade envolve o Desfazer comando.
Atividade TfUnshelve
Esta atividade envolve o Comando unshelve.
Atividade TfWorkfold
Esta atividade envolve o Workfold Command.
Trabalhar com itens de trabalho
Você pode trabalhar com itens de trabalho usando atividades Team Foundation Build:
Associar conjuntos de alterações e itens de trabalho com a compilação
Criar um Item de Trabalho
Crie um item de trabalho (atividade OpenWorkItem)
Use a atividade OpenWorkItem para criar um item de trabalho.
Resultado OpenWorkItem (WorkItem) Propriedade
Retorna o item de trabalho novo.
Propriedades de Argumento de OpenWorkItem
AssignedTo (String): Você deve especificar a pessoa para quem você 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.Valores típicos de Type incluem os seguintes exemplos: “Bug”, “Issue”, e “Task”.
Comentário (String): Você pode adicionar um comentário ao histórico de item de trabalho.
CustomFields (IDictionary<TKey, TValue><String,String>): Você pode especificar o valor de um ou vários outros campos de item de trabalho.
De volta ao topo
Trabalhar com dados de símbolos
Você pode trabalhar com dados de símbolo usando duas atividades Team Foundation Build: IndexSources e PublishSymbols.
Um uso típico dessas atividades é habilitar a depuração de IntelliTrace.Se você deseja ativar a depuração de IntelliTrace, você deve primeiro chamar a atividade IndexSources preparar seus dados de símbolo, e então você deve chamar a atividade PublishSymbols para publicar os dados a um armazenamento de símbolo de SymStore.
Para obter mais informações sobre depuração de IntelliTrace, consulte Depurar seu aplicativo gravando execução de código com o IntelliTrace.
Inserir caminhos de controle de versão e versões nos dados de símbolo em seu arquivo PDB (atividade IndexSources)
Use a atividade IndexSources para inserir caminhos e versões de controle de versão nos dados de símbolo em seus arquivos .pdb.
Propriedades de Argumento de IndexSources
FileList (IEnumerable<String>): Você deve especificar o caminho completo e o nome para cada arquivo do símbolo.Você pode usar a atividade FindMatchingFiles para fornecer esse argumento.
Você pode usar ** para especificar uma pesquisa recursiva.Por exemplo, você pode chamar FindMatchingFiles com o seguinte valor na propriedade MatchPattern: String.Format("{0}\**\*.pdb", BinariesDirectory).
De volta ao topo
Publicar símbolos em um armazenamento de símbolo de SymStore (atividade PublishSymbols)
Use a atividade PublishSymbols para publicar os dados de símbolo em seus arquivos PDB em um armazenamento de símbolo de SymStore.Esta atividade é essencialmente um invólucro sobre SymStore.exe.Para obter informações sobre armazenamentos de símbolo de SymStore e como preparar um, consulte Publicar símbolo de dados.
Importante |
---|
Dados podem ser corrompidos se as compilações simultâneas tentam publicar para o mesmo compartilhamento de arquivo de símbolos.Para reduzir o risco, você deve chamar esta atividade apenas dentro de uma atividade SharedResourceScope. |
Resultado PublishSymbols (String) Propriedade
Retorna a identificação de transação que SymStore.exe retorna.
Propriedades de Argumento de PublishSymbols
FileList (IEnumerable<String>): Você deve especificar o caminho completo e o nome de cada arquivo do símbolo.Você pode usar a atividade FindMatchingFiles para fornecer esse argumento.
Por exemplo, você pode chamar FindMatchingFiles com o seguinte valor na propriedade MatchPattern: String.Format("{0}\**\*.pdb", BinariesDirectory).
StorePath (String): Você deve especificar o caminho do arquivo de UNC 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 a SymStore.exe, consulte Opções de Linha de Comando de SymStore.
Comentários (String): Você pode especificar os comentários de transação que são gravados no arquivo de histórico de transação no armazenamento de símbolo.Esta propriedade é equivalente ao parâmetro /c Comment do comando SymStore.exe.Para mais informações, consulte Opções de Linha de Comando de SymStore.
ProductName (String): Você pode especificar o nome do produto, que é identificado no arquivo de histórico de transação no armazenamento de símbolo.Por exemplo, você pode definir essa propriedade como o nome da definição de compilação (Name), que você pode obter da propriedade BuildDefinition chamando GetBuildDetail.Esta propriedade é equivalente ao parâmetro /t Product do comando SymStore.exe.Para mais informações, consulte Opções de Linha de Comando de SymStore.
StoreCompressed (Boolean): Você pode definir esse valor para True para armazenar arquivos no armazenamento de símbolo como arquivos compactados.Caso contrário, os arquivos serão armazenados descompactados.Esta propriedade é equivalente ao parâmetro /compress do comando SymStore.exe.Para mais informações, consulte Opções de Linha de Comando de SymStore.
Versão (String): Por exemplo, você pode definir essa propriedade como o número de compilação (BuildNumber) que você pode obter chamando GetBuildDetail.Esta propriedade é equivalente ao parâmetro /v Version do comando SymStore.exe.Para mais informações, consulte Opções de Linha de Comando de SymStore.
De volta ao topo
Obter referências para objetos úteis
Você pode obter referências a objetos úteis usando atividades Team Foundation Build.
Obter uma referência para o objeto para uma coleção de projeto de equipe (atividadeGetTeamProjectCollection)
Use a atividade GetTeamProjectCollection para obter, da propriedade Resultado, uma referência a um objeto TfsTeamProjectCollection.Este objeto inicial é importante; por exemplo, você pode usá-lo para se conectar a um servidor de camada de aplicativo para Team Foundation.
Obter uma referência ao objeto IBuildAgent (atividade GetBuildAgent)
Use a atividade GetBuildAgent para obter, da propriedade Resultado, uma referência ao objeto IBuildAgent.Você pode usar esta atividade apenas dentro de uma atividade AgentScope.
Obter uma referência ao objeto IBuildDetail (atividade GetBuildDetail)
Use a atividade GetBuildDetail para obter, da propriedade Resultado, uma referência ao objeto IBuildDetail.Você pode usar esse objeto, para obter e definir em alguns casos, dados sobre a compilação atual.
De volta ao topo
Obter uma referência ao objeto BuildEnvironment (atividade GetBuildEnvironment)
Use a atividade GetBuildEnvironment para obter, através da propriedade Resultado, uma referência ao objeto BuildEnvironment.Você normalmente usa esta propriedade para executar as seguintes tarefas:
Use o objeto Environment para determinar se o segmento atual de fluxo de trabalho está sendo executado no controlador de compilação ou no agente de compilação.
Use o objeto CustomAssemblyPath para obter o caminho para os assemblies que contêm as atividades personalizados no agente de compilação.
De volta ao topo
Atividades que não são para que você modifique em um processo de compilação personalizada
Quaisquer atividades não são para que você modifique em um processo de compilação personalizada.
ApproveRequestForCheckIn
Ignorar esta atividade.
De volta ao topo
Atividade CreateWorkspace
Ignorar esta atividade.
De volta ao topo
DeleteWorkspace
Ignorar esta atividade.
De volta ao topo
GenerateRunSettings
Ignorar esta atividade.
De volta ao topo
GetApprovedRequests
Ignorar esta atividade.
De volta ao topo
GetPendingChanges
Ignorar esta atividade.
De volta ao topo
GetRejectedRequests
Ignorar esta atividade.
De volta ao topo
GetReshelvedShelveset
Ignorar esta atividade.
De volta ao topo
GetShelvedChanges
Ignorar esta atividade.
De volta ao topo
GetWorkspace
Ignorar esta atividade.
De volta ao topo
ParseWorkspaceSpec
Ignorar esta atividade.
De volta ao topo
RejectRequestFromCheckIn
Ignorar esta atividade.
De volta ao topo
RetryRequest
Ignorar esta atividade.
De volta ao topo
RetryRequests
Ignorar esta atividade.
De volta ao topo
RevertWorkspace
Ignorar esta atividade.
De volta ao topo
RunOnce
Não documentado na versão atual.
SyncWorkspace
Ignorar esta atividade.
De volta ao topo
SynchronizeRequests
Ignorar esta atividade.
De volta ao topo
atividade TfsBuild
Ignorar esta atividade.
De volta ao topo
TfQueryConflicts
Ignorar esta atividade.
De volta ao topo
Consulte também
Conceitos
Navegar em um fluxo de trabalho do Windows complexo
Definir um processo de compilação é baseado no modelo padrão
Implantar e configurar um Build Controller
Implantar e configurar agentes de compilação