Usar o modelo padrão no processo de compilação
O Modelo Padrão ( TfvcTemplate.12.xaml ou GitTemplate.12.xaml) permite definir rapidamente um processo básico que compila e testa o código. Você tem opções para controlar a maneira como a Compilação do Team Foundation Build (TFBuild) compila o código, executa os testes e executa outros processos como scripts.
Introdução
(Opcional) Antes de criar uma nova definição de compilação, na página inicial do Team Explorer (teclado: Ctrl + 0, H), abra a solução que você deseja compilar, de forma que ela seja especificada automaticamente na caixa Projetos.
No Team Explorer, verifique se você está conectado ao projeto da equipe (teclado: Ctrl + 0, C) e, em seguida, abra a página Compilações (teclado: Ctrl + 0, B).
Escolha o link Nova Definição de Compilação ou selecione uma compilação, abra seu menu de contexto e escolha Edição de Definição da Compilação.
Dica
Se uma mensagem de erro TF225001 for exibida, configure um controlador de compilação.
Na guia Processo, em Modelo do processo de compilação, o Modelo Padrão é selecionado por padrão.
Aviso
Você está conectado a um Projeto de equipe Git hospedado no Visual Studio Online?Você não tem os parâmetros Substituição de check-out e Projetos?
Consulte Como tenho certeza se estou usando o modelo de processo da compilação Git padrão no Visual Studio Online?
Use as informações posteriores neste tópico para preencher os campos que fornecem a funcionalidade que você deseja colocar nessa definição de compilação.
Depois de preencher os campos na guia Processo, especifique as opções do processo de compilação nas outras guias.
Para obter mais informações, consulte Criar ou editar uma definição de compilação.
O que você deseja fazer em seguida?
Obter o código
Compilar o código
Especificar os projetos que serão compilados
Especificar as plataformas e as configurações que serão compiladas
Especificar opções de compilação
Executar outros processos durante a compilação
Executar análise de código durante a compilação
Controlar como os servidores executam a compilação
Especificar quais agentes de compilação processam a compilação
Especificar limites de tempo do agente de compilação
Controlar o resultado da compilação
Especificar o local de saída da compilação
Tornar os nomes das compilações concluídas úteis para a equipe
Publicar símbolos com base na compilação
Associar e criar itens de trabalho
Criar um item de trabalho em caso de falha
Rotular o código-fonte
Obter respostas para perguntas comuns
Obter o código
É possível definir algumas opções para como o agente de compilação obtém o código-fonte especificado na guia Configurações de Origem.
Se desejar... |
Defina este parâmetro… |
Usando essa orientação… |
---|---|---|
Especificar se é necessário limpar o espaço de trabalho ou o repositório Git no agente de compilação antes de processar a compilação |
TFVC: Limpar o espaço de trabalho Git: Limpar repositório |
Selecione Verdadeiro para excluir todas as saídas e arquivos de código-fonte existentes antes do processamento da compilação. Use essa opção caso você queira que o processo de compilação seja o mais completo possível durante a exposição de problemas no processo de compilação. Dica Se o processo de compilação não exigir um espaço de trabalho ou um repositório limpo, será possível reduzir significativamente o tempo necessário à execução da compilação definindo esse valor de parâmetro como Falso. Essa configuração não tem efeito se você usar o Controlador de Compilação Hospedado. Nesse caso, você obtém um novo diretório de trabalho a cada compilação. |
Compilar uma versão específica do código-fonte |
TFVC: Obter versão Git: Substituição de check-out |
TFVC: especifique o versionspec que identifica a versão que você deseja compilar. Git: especifique a ramificação ou confirme a ID para check-out. |
Compilar o código
É possível usar MSBuild para compilar o código.
Especificar os projetos que serão compilados
Na caixa Projetos, em Compilação, na tabela Parâmetros do processo de compilação, é possível especificar uma ou mais soluções ou codificar projetos que serão compilados. Você deve especificar pelo menos uma solução ou um projeto.
Se estiver compilando vários projetos relacionados, você normalmente precisará adicioná-los a uma única solução e especificar essa solução na célula Projetos, em vez de listar cada projeto separadamente.
Na caixa Projetos, é possível escolher o botão de reticências (...) para abrir e usar a caixa de diálogo Soluções/Projetos para especificar as soluções ou os projetos que serão compilados.
Para preencher manualmente a caixa Projetos de um projeto da equipe TFVC, você especifica o caminho do controle de versão completo para cada projeto ou solução que deseja compilar. Você delimita cada valor com uma vírgula, conforme o seguinte exemplo mostra:
$/Features/FeatureA/Server/All Server Projects.sln, $/Features/FeatureA/Client/All Client Projects.sln
Importante
Se você usar TFVC, verifique se o caminho de cada projeto ou solução é um filho de um dos valores Pasta do Controle do Código-Fonte listados na guia Configurações de Fonte da definição da compilação.Se você usar o Git, verifique se o projeto ou a solução está no repositório Git, em uma ramificação que esteja compilando.
Especificar as plataformas e as configurações que serão compiladas
Na caixa Configurações, é possível especificar quais plataformas e configurações você deseja compilar. Por exemplo, é possível especificar que essa compilação só deve compilar a configuração de versão da versão 32 bits do projeto do C++, inclusive Versão|x86 nessa caixa.
Dica
Se tiver uma grande base de código, você poderá aumentar significativamente a velocidade com que a compilação é processada, compilando apenas as configurações e as plataformas de que precisa.
Se você deixar a caixa Configurações vazia, a configuração padrão e a plataforma definida em cada solução ou projeto são compiladas.
Na caixa Configurações, é possível escolher o botão de reticências (…) para abrir e usar a caixa de diálogo Configurações para especificar quais itens devem ser compilados. Também é possível especificá-los manualmente.
Cada configuração na caixa Configurações deve estar na seguinte forma:
Configuração|Plataforma
Você deve substituir os seguintes espaços reservados:
Configuração é um valor como Depuração, Liberação ou Todas as configurações.
Plataforma é um valor como Win32, x86, x64 ou Qualquer CPU.
As configurações na lista devem ser delimitadas por vírgulas.
Por exemplo, se quisesse compilar a configuração de Depuração e Versão do projeto do C#, você especificaria Debug|Any CPU, Release|Any CPU na caixa Configurações.
Os tokens usados na configuração e na plataforma devem corresponder aos tokens configurados nas propriedades da solução ou nas propriedades do projeto de código. Se eles não fossem correspondentes, você poderia notar resultados inesperados quando a compilação fosse concluída.
Dica
Se estiver compilando projetos de código individuais, em vez de um arquivo de solução, e quiser especificar Qualquer CPU como a plataforma, você deverá especificá-lo como AnyCPU, e não Any CPU.
Especificar opções de compilação
É possível controlar várias opções de compilação.
Se desejar... |
Defina este parâmetro… |
Usando essa orientação… |
---|---|---|
Controlar a necessidade de recompilação |
Compilação, Limpar compilação |
Defina como Verdadeiro se você quiser recompilar todo o código em projetos de código. Isso equivale a MSBuild /target:clean. Essa opção não tem efeito prático, a menos que você também defina Limpar repositório como Falso. Dica É possível reduzir significativamente o tempo necessário para compilar bases de código grandes definindo essa opção como Falso. |
Validar o código em relação os diagramas de camada |
Compilação, Avançado, Argumentos de MSBuild |
Inclua a seguinte cadeia de caracteres nesse valor de parâmetro: /p:ValidateArchitecture=true. Para obter mais informações, consulte Validar o código com diagramas de camada. |
Especificar argumentos de linha de comando que serão passados para MS Build |
Compilação, Avançado, Argumentos de MSBuild |
Se o processo de compilação exigir que você passe argumentos para MSBuild, incorpore-os no parâmetro Argumentos de MSBuild. Para obter mais informações, consulte Referência de linha de comando MSBuild. |
Especificar o número de bits da versão do MSBuild usada para processar a compilação |
Compilação, Avançado, Plataforma MSBuild |
Especifique um dos seguintes valores:
Se especificar esse valor, você deverá verificar (por exemplo, usando uma marca conforme explicado anteriormente neste tópico) se a compilação é processada por um agente de compilação hospedado por um computador de compilação 64 bits. Do contrário, haverá falha na compilação. |
Executar outros processos
É possível executar outros processos durante a compilação.
Executar análise de código
Para encontrar defeitos comuns durante a compilação, é possível analisar o código. Defina o parâmetro Executar análise de código nos parâmetros de compilação avançados.
Selecione Como Configurado para analisar cada projeto de código no qual esse recurso está habilitado.
Selecione Sempre para analisar todo projeto de código, independentemente desse recurso estar habilitado nos projetos de código.
Selecione Nunca para ignorar a análise de código.
Para obter mais informações, consulte um dos seguintes tópicos:
Como definir propriedades de análise de código para projetos do C/C++
Como configurar a análise de código para um projeto de código gerenciado
Como configurar a análise de código para um aplicativo Web do ASP.NET
Controlar como os servidores executam a compilação
É possível controlar como os servidores de compilação executam a compilação
Especificar quais agentes de compilação processam a compilação
Para especificar quais agentes de compilação são usados para processar a compilação, expanda o nó Avançado, o nó Configurações do agente e, em seguida, especifique valores dos seguintes parâmetros:
Filtro de Nome: é possível filtrar os agentes de compilação usados para processar essa definição de compilação digitando o nome do agente nesse campo. Também é possível especificar um conjunto de nomes usando-se os caracteres curinga * e ?. Por exemplo, você pode especificar CI* para especificar qualquer agente cujo nome comece com os caracteres CI. Entre os agentes que atenderiam a esse critério estão CI, CI1 ou CI_Agent2.
Filtro de Marcas: especifique uma ou mais marcas para garantir que apenas agentes de compilação com marcas correspondentes sejam executados com essa compilação. Você normalmente aplica marcas a determinados agentes de compilação para reservá-los para fins especiais. Por exemplo, você configura um agente de compilação em um computador de compilação projetado para processar as compilações de check-in restrito. Você aplica a marca restrita ao agente de compilação. Por fim, você aplica a marca restrita à definição de compilação, de forma que ela só seja processada pelo agente também marcado com a marca restrita. Para especificar marcas, você escolhe o botão de reticências (…).
Dica
O grupo de agentes de compilação disponíveis para processar essa compilação é determinado pelo controlador de compilação especificado para essa definição de compilação.Para modificar o controlador de compilação, escolha a guia Padrões de Compilação, abra o menu Controlador de compilação e, em seguida, escolha um controlador de compilação.
Operador de comparação de marcas: No menu, escolha um dos seguintes valores:
MatchExactly: escolha esse valor se quiser que essa definição de compilação seja processada apenas pelos agentes de compilação que possuam exatamente o mesmo conjunto de marcas especificado na caixa Filtro de marcas. Se você não especificar marcas, qualquer agente poderá processar essa definição de compilação.
Dica
Escolhendo MatchExactly, você restringe os agentes disponíveis para essa definição de compilação apenas àqueles que tenham o conjunto exato de marcas presentes no campo Filtro de Marcas.
MatchAtLeast: escolha esse valor caso queira que essa definição de compilação seja processada por qualquer agente de compilação que tenha pelo menos o mesmo conjunto de marcas especificado na caixa Filtro de Marcas. Se você não especificar marcas, apenas agentes sem marcas podem processar essa definição de compilação.
Especificar limites de tempo do agente de compilação
Para especificar limites de tempo, expanda o nó Avançado, o nó Configurações do agente e, em seguida, especifique os parâmetros na tabela a seguir.
Se desejar... |
Defina este parâmetro… |
Usando essa orientação… |
---|---|---|
Especificar o tempo máximo permitido para que o agente de compilação processe a compilação |
Tempo de Execução Máximo |
Insira um valor do período de tempo 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 depois de 4 horas, 30 minutos e 15 segundos. Especifique um valor de 00:00:00 se você quiser dar ao agente de compilação tempo ilimitado para processar a compilação. |
Especificar o tempo máximo permitido para atribuir a solicitação de compilação a um agente de compilação |
Tempo Máximo de Espera |
Insira um valor do período de tempo 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ê quiser dar ao controlador de compilação tempo ilimitado para encontrar um agente de compilação para processar essa definição de compilação. |
Controlar o resultado da compilação
Especificar o Local de Saída da Compilação
Para controlar onde o TFBuild coloca as saídas de compilação, escolha:
SingleFolder para colocar todos os arquivos de saída de compilação na pasta-depósito.
PerProject para agrupar as saídas de compilação em subpastas de pasta-depósito para cada projeto de solução ou código especificado na caixa Projetos.
AsConfigured para deixar os binários na pasta de fontes do agente de compilação, organizada da mesma estrutura de subpasta que você vê ao compilar o código no computador de desenvolvimento no Visual Studio. Essa estrutura é definida em projetos de código.
Se você usar essa opção, o TFBuild não copiará a saída para a pasta-depósito. Ao invés disso, é possível programar os scripts para copiar as saídas para o local especificado por TF_BUILD_BINARIESDIRECTORY, de forma que eles sejam soltos no local de preparo. Consulte scripts pós-compilação ou pós-teste.
Tornar os nomes das compilações concluídas úteis para a equipe
Você e a equipe podem usar Avançado, Formato de número da compilação para carregar dados úteis no nome de cada compilação concluída. Para os valores válidos desse parâmetro, consulte Usar números de compilação para dar nomes significativos a compilações concluídas.
Publicar Símbolos com base na Compilação
Especifique o parâmetro Caminho para publicar símbolos para indexar e publicar dados do símbolo a fim de habilitar recursos como a depuração histórica. Consulte Indexar e publicar dados de símbolo.
Associar conjuntos de alterações, confirmações e itens de trabalho
O processo de compilação vincula automaticamente cada compilação concluída com todos os conjuntos de alterações ou confirmações inseridos no código, bem como seus itens de trabalho associados. Não é possível desabilitar esse comportamento, mas em Avançado você pode decidir se deseja ou não Atualizar itens de trabalho com o número de compilação selecionando Verdadeiro ou Falso.
Como o processo de compilação determina quando associar conjuntos de alterações, confirmações e itens de trabalho?
Criar um item de trabalho em caso de falha
Para Avançado, Criar item de trabalho em caso de falha, selecione Verdadeiro se, quando a compilação falhar, você quiser que o processo de compilação crie um bug e o atribua à pessoa que fez check-in no conjunto de alterações TFVC ou que enviou a confirmação de Git.
Rotular o código-fonte
Para o Controle de Versão TF, Fontes de Rótulo selecione Verdadeiro se você quiser marcar automaticamente todo arquivo de código-fonte com um rótulo para permitir que a equipe identifique facilmente a versão de cada arquivo incluída na compilação concluída. Essa configuração não se aplica a projetos de equipe de Git.
Para obter informações sobre como o TFBuild determina qual versão a ser rotulada, consulte O quão boa foi a compilação?
Perguntas e respostas
Como tenho certeza se estou usando o modelo de processo da compilação Git padrão no Visual Studio Online?
Você está conectado a um Projeto de equipe Git hospedado no Visual Studio Online? Você não tem os parâmetros Substituição de check-out e Projetos?
Quando você mostra detalhes, o Modelo Padrão (GitTemplate.xaml) é exibido?
Nesse caso, selecione GitTemplate.12.xaml. Depois que você fizer isso, o parâmetro Substituição de check-out e o botão de navegação no parâmetro Projetos serão exibidos.
P: Como o processo de compilação determina quando associar conjuntos de alterações, confirmações e itens de trabalho?
R: cada definição de compilação mantém seu próprio registro de quais conjuntos de alterações (TFVC), confirmações (Git) e os itens de trabalho estão aguardando a associação com a próxima compilação concluída.
Por exemplo, o conjunto de alterações 382 é compilado pelas compilações A e B. Compilação A é enfileirada e concluída com êxito. Compilação B é enfileirada e falha. O conjunto de alterações 382 agora está associado à compilação concluída com êxito da Compilação A e com a compilação com falha da Compilação B. O conjunto de alterações 382 não será vinculado à próxima compilação concluída da Compilação A, mas será vinculado à próxima compilação concluída da Compilação B.
Para obter informações sobre como o TFBuild determina qual versão a ser associada, consulte O quão boa foi a compilação?
P: Preciso do meu processo de compilação para realizar outras tarefas.Como posso personalizá-lo?
Unidade: Personalizar o processo