Definir um processo de compilação Gated Check-In para validar as alterações

Quando um desenvolvedor fizer o check-in das alterações que quebram a compilação, o resultado pode ser um significativo incômodo para equipes pequenas.O custo para equipes maiores podem ser ainda mais caros quando medidos por perda de produtividade e atrasos de cronograma.Você pode proteger parte ou toda a base de código contra esses problemas criando uma definição de compilação de check-in com barreira.

Neste tópico

  • Como as compilações de check-in com barreira afetam sua equipe

  • Defina um processo de compilação de check-in com barreira

  • Diretrizes para melhorar a função e o desempenho do processo de compilação

  • Evite bloquear sua equipe

  • Executar manualmente compilações de check-in com barreira e compilações particulares

Como as compilações de check-in com barreira afetam sua equipe

Quando sua equipe coloca um processo de compilação de check-in com barreira no lugar, as alterações que os desenvolvedores enviam são colocadas nos check-ins particulares, são compiladas automaticamente e possivelmente testadas pelo sistema de compilação.

Controlados seleção na caixa de diálogo

A compilação deve ter êxito para que o processo de check-in a seja concluído.Para obter mais informações, consulte Check-In alterações pendentes que são controlados por um Check-in Gated construir.

Se qualquer um dos seus usuários deve ignorar o check-in com barreira, você pode definir a permissão Ignorar validação de check-in por compilação a Permitir para um grupo de seus usuários.Para obter mais informações, consulte Team Foundation Permissões do servidor.

Defina um processo de compilação de check-in com barreira

Permissões Necessárias

Para executar este procedimento, a permissão Editar definição de compilação deve estar definida como Permitir.Para obter mais informações, consulte Team Foundation Permissões do servidor.

Para definir uma compilação de check-in com barreira

  1. No Team Explorer:

    1. Se você ainda não estiver conectado ao projeto de equipe no qual deseja trabalhar, conecte-se ao projeto de equipe.

    2. Escolha Ícone da home pagePágina Inicial e depois Ícone de compilaçõesCompilações.

    3. Na página de Compilações, escolha Nova definição de compilação.

    Uma nova janela de definição de compilação é exibida.

  2. Na guia Disparador :

    • Escolha Check-in com barreira.

    • (Opcional) Para aumentar a eficiência de seu processo de compilação, selecione Mesclar e compilar em submissões. Para obter mais informações, consulte Evite bloquear sua equipe.

  3. Na guia Espaço de trabalho, na tabela Pastas de trabalho, mapeie as pastas de controle de versão que esta definição de compilação irá controlar para pastas locais no agente de compilação.

    DicaDica

    Siga estas diretrizes:

    • Para garantir que as funções do processo de compilação estão corretas e para melhorar o desempenho, inclua todas -e somente essas pastas - que contêm os arquivos que o processo de compilação requer.

    • Certifique-se de que você não especifica qualquer pasta de controle de versão que seja especificada também na guia Espaço de trabalho de outra definição de compilação de check-in com barreira.Caso contrário, quando um usuário faça o check-in de arquivos para essas pastas, o sistema de compilação exige que se decida qual definição de compilação deve-se colocar na fila.

    • Para obter mais informações sobre como especificar mapeamentos, consulte Trabalhar com espaços de trabalho de compilação.

  4. Na guia Opções de compilação, para melhorar o desempenho, escolha Este compilador não copia arquivos de saída para uma pasta-depósito.

  5. Na guia Processo, em Modelo de processo de compilação, o modelo padrão é selecionado por padrão.No parâmetro Itens a compilar, especifique as soluções ou projetos de código que você deseja compilar.

  6. Na guia Processo, defina parâmetros para garantir que os check-ins estejam de acordo com padrões específicos para a qualidade de código de sua equipe sem atrasar os desenvolvedores desnecessariamente.

    Para obter mais informações, consulte Diretrizes para melhorar a função e o desempenho do processo de compilação posteriormente neste tópico.

  7. Especificar opções do processo de compilação nas outras guias.Para obter mais informações, consulte Criar uma definição de compilação.

Diretrizes para melhorar a função e o desempenho do processo de compilação

Para minimizar o tempo necessário para processar a compilação, você deve considerar seguir estas diretrizes quando você especificar valores para os parâmetros de processo de compilação na guia Processo.

Nó exigido

  • Itens a compilar, Configurações para compilar: Se você deixar este parâmetro vazio, a plataforma e a configuração padrões são usadas para cada solução e projeto.Para otimizar o desempenho, adira às seguintes diretrizes:

    • Se um par de plataforma e configuração é mais rápido do que outros pares, especifique-o neste parâmetro.

    • Especificar o menor número de pares de plataforma e configuração quanto possível.

Nó básico

  • Limpar espaço de trabalho: Para melhorar o desempenho, defina esse valor para Nenhum (recomendado) ou Saídas.No entanto, é mais provável que sua equipe perca alguns tipos de defeitos, como aqueles introduzidos durante refatoração, se o espaço de trabalho não é limpado.Para obter mais informações, consulte Definir um processo de compilação é baseado no modelo padrão.

  • Executar análise de código: Para melhorar o desempenho, defina esse valor para Nunca.

  • Configurações de fonte e símbolo de servidor, Fontes de índice: Para melhorar o desempenho, defina esse valor para Falso.

Nó avançado

  • Configurações do Agente

    • Filtro de nome ou Filtro das marcas: Use um nome de agente de compilação ou uma marca para associar esta definição de compilação a um agente de compilação que foi criado especificamente para executar esta compilação.O agente de compilação deve executar no hardware que é suficientemente potente para processar esta compilação rápido o suficiente para atender expectativas de desempenho da sua equipe.

      Por exemplo, você e sua equipe podem não se importar em esperar 15 minutos pela conclusão da compilação.Mas provavelmente você não quer esperar oito horas até que você possa determinar se o código faz o check-in com êxito.

    • Tempo de execução máximo: Definir esse valor para um número pequeno o bastante.Por exemplo, 15 minutos podem funcionar para sua equipe, mas oito horas é provavelmente muito demorado.

  • Criar item de trabalho em caso de falha: O sistema usa esse valor como Falso, mesmo se você configurá-lo para Verdadeiro.

  • Desativar testes

    • Para desempenho mais rápido, selecione Verdadeiro.

    • Se seu código deve passar determinados testes, selecione Falso e defina um conjunto de teste para executar na compilação.Você pode melhorar o desempenho executando apenas os testes que você precisa.Para designar os testes, filtre-os por categoria ou por prioridade.Para obter mais informações, consulte Teste de execução em seu processo de compilação.

  • Fontes do rótulo: Defina esse valor para Falso.

Para obter mais informações sobre parâmetros de modelo de processo de compilação padrões, consulte Definir um processo de compilação é baseado no modelo padrão.

Evite bloquear sua equipe

Cada definição de compilação de check-in com barreira pode ter apenas uma compilação em execução de cada vez.Portanto, as eqipes maiores e mais ativas tendem a desenvolver uma grande fila de compilação de check-in com barreira.As seguintes práticas recomendadas podem ajudá-lo a evitar bloquear o andamento de equipe:

  • Para aumentar a eficiência de seu processo de compilação, na guia Disparador, selecione a opção Mescle e compile em submissões e especifique o número de check-ins que você deseja compilar juntos em lotes quaisquer dados.Geralmente, você não se arrisca muitos rompimentos usando esta opção.Cada check-in é confirmado individualmente ou descartado.

    Por exemplo, se três check-ins são criados juntos em um lote e a compilação não tiver êxito, o sistema coloca em fila individualmente as compilações de tos os três check-ins.

    No entanto, esta opção apresenta algum risco de um check-in interferir com os outros.Isso pode ocorrer, por exemplo, se vários check-ins alteram o mesmo arquivo e, então, um conflito de controle de versão ocorre.Nesse caso, o check-in anterior é confirmado e check-ins posteriores são descartados.

  • Defina a compilação de modo que o agente de compilação apenas faça o trabalho que é exigido para validar a qualidade de código cujo check-in está sendo feito.Para obter mais informações, consulte Diretrizes para configurações na guia do processo anteriormente neste tópico.

  • Dedique um computador de compilação que tenha hardware potente - por exemplo, um processador rápido e um rápido disco rígido - para o agente de compilação que sua definição de compilação de check-in com barreira usa.

Executar manualmente compilações de check-in com barreira e compilações particulares

Os desenvolvedores que desejam se sentir mais seguros sobre as alterações das quais estão fazendo check-in podem manualmente colocar na fila uma compilação de um check-in particular.Quando têm essa abordagem, eles podem especificar uma das duas opções para o que o sistema faz em seguida se a compilação for bem sucedida:

  • O sistema faz o check-in das alterações (compilação de check-in com barreira manual): Essa opção pode ser acessível para equipes que não desejam requerer o check-in com barreira mas ainda querer permitir que desenvolvedores validem voluntariamente seu código antes de fazer o check-in.

  • O sistema não faz o check-in das alterações (compilação privada): Os desenvolvedores podem usar esta opção quando eles desejam validar algumas alterações em um check-in particular mas não fazer o check-in delas.

Para obter mais informações, consulte Uma compilação de fila.