Usar um processo de compilação de check-in restrito para validar alterações

Quando um desenvolvedor faz check-in das alterações que interrompem a compilação, o resultado pode ser um problema significativo 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 restrito.

Dica

As compilações de check-in restrito estão disponíveis somente em Ícone TFVC projetos da equipe TFVC.Elas não estão disponíveis em Ícone de Git projetos da equipe Git.

O que você deseja fazer?

  • Compreender como as compilações de check-in restrito afetam sua equipe

  • Definir um processo de compilação de check-in restrito

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

  • Evitar bloquear sua equipe

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

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

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

Caixa de diálogo Check-in restringido

A compilação deve ser bem-sucedida para que o processo de check-in 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 de seus usuários precisar ignorar o check-in restrito, você poderá definir a permissão Substituir validação do check-in pela compilação como Permitir para um grupo de seus usuários. Para obter mais informações, consulte Referência de permissões para o Team Foundation Server.

Definir um processo de compilação de check-in restrito

  1. 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).

  2. Escolha o link Nova Definição de Compilação ou selecione uma compilação, abra o menu de atalho 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.

  3. Na guia Disparador:

    • Escolha Check-in Restringido.

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

  4. Na guia Configurações da Fonte, na tabela Pastas de trabalho, mapeie as pastas de controle de versão que essa definição de compilação irá controlar para pastas locais no agente de compilação.

    Dica

    Siga estas diretrizes:

    • Para garantir que o processo de compilação funcione corretamente e melhorar o desempenho, inclua todas as pastas, e apenas essas pastas, que contenham arquivos exigidos pelo processo de compilação.

    • Verifique se você não especificou nenhuma pasta de controle de versão que também seja especificada na guia Espaço de Trabalho de outra definição de compilação de check-in restrito.Caso contrário, quando um usuário faz o check-in de arquivos nessas pastas, o sistema de compilação exige que ele se decida qual definição de compilação enfileirar.

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

  5. Para melhorar o desempenho, na guia Padrões de Compilação, escolha Esta compilação não copia arquivos de saída para uma pasta-depósito.

  6. Na guia Processo, na tabela Compilação, no parâmetro Projetos, especifique as soluções ou os projetos de código que você deseja compilar.

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

    Para obter mais informações, consulte Melhorar a função e o desempenho do processo de compilação mais à frente neste tópico.

  8. Especifique 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.

Melhorar a função e o desempenho do processo de compilação

Para minimizar o tempo necessário ao processamento da compilação, você deve considerar estas diretrizes ao especificar valores para os parâmetros do processo de compilação na guia Processo.

Controle de versão TF ou Git

  • Limpar o espaço de trabalho ou Limpar repositório: para melhorar o desempenho, defina esse valor como Falso. Essa configuração pode fazer sua equipe ignorar alguns tipos de defeitos, como os introduzidos durante a refatoração.

Compilação

  • Configurações: se você deixar esse parâmetro vazio, a plataforma e a configuração padrão serão usadas em cada solução e projeto. Para otimizar o desempenho, siga as seguintes diretrizes:

    • Se um par plataforma/configuração for compilado mais rapidamente do que outros pares, especifique-o nesse parâmetro.

    • Especifique o menor número de pares plataforma/configuração possível.

  • Limpar compilação Para aumentar o desempenho, defina esse parâmetro como Falso. Essa configuração pode fazer sua equipe ignorar alguns tipos de defeitos, como os introduzidos durante a refatoração.

Compilação, avançada

  • Executar Análise de Código: para melhorar o desempenho, defina esse valor como Nunca.

Teste, avançado

  • Desabilitar testes:

    • Para um desempenho mais rápido, selecione Verdadeiro.

    • Se seu código precisar passar por determinados testes, selecione Falso e defina um conjunto de testes a serem executados na compilação. Você pode melhorar o desempenho executando apenas os testes de que precisa. Para designar esses testes, filtre-os por categoria ou prioridade. Para obter mais informações, consulte Executar testes no processo de compilação.

Publicar símbolos

  • Caminho para publicar símbolos: para melhorar o desempenho, deixe esse valor vazio.

Avançado

  • Configurações do agente

    • Filtro de Nome ou Filtro de Marcas: use um nome do agente de compilação ou uma marca para associar essa definição de compilação a um agente de compilação projetado especificamente para executar essa compilação. O agente de compilação deve ser executado em hardware suficientemente potente para processar essa compilação rápido o bastante para atender a expectativas de desempenho da sua equipe.

      Por exemplo, você e sua equipe talvez não se importem em esperar 15 minutos pela conclusão da compilação. Mas provavelmente você não quer esperar oito horas até poder determinar se o código foi verificado com êxito.

    • Tempo de Execução Máximo: defina esse valor como um número razoavelmente pequeno. Por exemplo, 15 minutos podem funcionar para sua equipe, mas oito horas é provavelmente muito demorado.

Para obter mais informações sobre parâmetros do processo de compilação Modelo Padrão, consulte Usar o modelo padrão no processo de compilação.

Evitar bloquear sua equipe

Cada definição de compilação de check-in restrito pode ter apenas uma compilação em execução por vez. Portanto, as equipes maiores e mais ativas tendem a desenvolver uma grande fila de compilações de check-in restrito. As seguintes práticas recomendadas podem ajudar a evitar o bloqueio do andamento da equipe:

  • Para aumentar a eficiência de seu processo de compilação, na guia Disparador, selecione a opção Mesclar e compilar n submissões e especifique o número máximo de check-ins que você deseja compilar juntos em um determinado lote. Normalmente, você não arrisca muitas interrupções usando essa opção. Cada check-in é confirmado individualmente ou rejeitado.

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

    No entanto, essa opção apresenta algum risco de um check-in interferir em outros. Isso poderá ocorrer, por exemplo, se vários check-ins alterarem o mesmo arquivo e ocorrer um conflito de controle de versão. Nesse caso, o check-in anterior é confirmado e os check-ins posteriores são rejeitados.

  • Defina a compilação de modo que o agente de compilação apenas faça o trabalho 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 antes neste tópico.

  • Dedique um computador de compilação com 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 restrito usa.

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

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

  • O sistema faz check-in das alterações (compilação de check-in restrito manual): essa opção pode ser útil para equipes que não queiram exigir o check-in restrito mas ainda queiram permitir que desenvolvedores validem voluntariamente seu código antes de fazer o check-in.

  • O sistema não faz check-in das alterações (compilação particular): os desenvolvedores podem usar essa opção quando querem validar algumas alterações em um check-in particular, mas não fazer o check-in delas.

Para obter mais informações, consulte Enfileirar uma compilação.