Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Comunidade | de desenvolvedoresRequisitos do sistema e compatibilidade | Termos de Licença | Blog | SHA-1 Hashes | | Notas das versões mais recentes do Visual Studio 2019
Observação
Se estiver a aceder a esta página a partir de uma versão em outro idioma que não o inglês e quiser ver o conteúdo mais atualizado, visite esta página de Notas de Versão em inglês. Você pode alterar o idioma desta página clicando no ícone de globo no rodapé da página e selecionando o idioma desejado.
Neste artigo, você encontrará informações sobre a versão mais recente do Team Foundation Server 2018. Clique no botão para fazer o download.
Para saber mais sobre o Team Foundation Server 2018, consulte a página . Visite a página de visualstudio.com/downloads para baixar outros produtos TFS 2018.
A atualização direta para o Team Foundation Server 2018 Atualização 2 é suportada a partir do TFS 2012 e mais recente. Se sua implantação do TFS estiver no TFS 2010 ou anterior, você precisará executar algumas etapas provisórias antes de atualizar para o TFS 2018 Atualização 2. Consulte o gráfico abaixo e a página Instalação do TFS para obter mais informações.
Importante
Não é necessário atualizar para o TFS 2018 RTM antes de atualizar para o TFS 2018 Update 2.
Data de lançamento: 7 de maio de 2018
Agora você pode atualizar para o TFS 2018 Update 2 e continuar a conectar seus controladores XAML e executar compilações XAML. Quando removemos o suporte para a compilação XAML no TFS 2018 RTW e na Atualização 1, alguns de vocês não conseguiram atualizar devido a ainda terem compilações XAML herdadas, e queremos resolver esse bloqueio. Embora o TFS 2018 Update 2 ofereça suporte a compilações XAML para as suas compilações antigas, a compilação XAML foi preterida e não receberá mais investimentos, portanto, é altamente recomendável converter para um formato de definição de compilação mais atual.
Resumo do que há de novo na Atualização 2 do TFS 2018
Adicionamos muito valor novo ao Team Foundation Server 2018 Update 2. Alguns dos destaques incluem:
- Exibir confirmação de mesclagem de solicitação pull
- Ajude os revisores a usar etiquetas de pull request
- Mencione um pull request
- As notificações de comentários em pull requests incluem o contexto da conversa
- Extensibilidade do status da solicitação pull
- Filtro de campos personalizados e tags para notificações de acompanhamento de itens de trabalho
- Opções de coluna modernizadas
- Adicionado suporte para o operador de consulta Not In
- Query for @MyRecentActivity and @RecentMentions
- Filtragem por planos
- Portões de liberação
- Crie com integração contínua do GitHub Enterprise
- Aprimoramentos para compilações multifásicas
- Ignorar compilações agendadas se nada tiver sido alterado no repositório
- Use pacotes públicos sem problemas usando fontes upstream
- Políticas de retenção em feeds do TFS
- Filtragem no gerenciamento de pacotes
- Pesquisa Wiki
- Itens de trabalho de referência no Wiki
- Visualizar conteúdo à medida que edita páginas Wiki
- Colar conteúdo detalhado do Wiki como HTML
- Cartões de perfil
- Avatares de círculo
Detalhes do que há de novo na Atualização 2 do TFS 2018
Você pode encontrar detalhes sobre os recursos em cada área:
Código
Obter um link permanente para o código
Ao visualizar um arquivo, você geralmente vê a versão na ponta da ramificação selecionada. A versão de um arquivo na ponta pode mudar com novas confirmações. Se copiar um link desta vista, os seus links poderão ficar obsoletos porque a URL inclui apenas o nome do branch, não o SHA da commit. Agora você pode alternar facilmente a visualização Arquivos para atualizar a URL para fazer referência à confirmação em vez da ramificação. Se você pressionar a tecla "y", sua exibição alternará para a confirmação de ponta da ramificação atual. Em seguida, você pode copiar links permanentes.
Recuperar um repositório recentemente excluído por meio da API
Às vezes, erros podem ser cometidos ao limpar repositórios antigos no controle do código-fonte. Se um repositório Git for excluído nos últimos 30 dias, ele poderá ser recuperado por meio da API REST. Consulte a documentação para as operações de listagem e recuperação para mais informações.
SSH: Suportar algoritmos/chaves adicionais e descontinuar algoritmos desatualizados
Para melhorar a segurança e a compatibilidade, atualizamos a lista de cifras suportadas para SSH. Adicionamos duas novas cifras e substituímos três, correspondendo à direção do OpenSSH. As cifras obsoletas continuam a funcionar nesta versão. Serão removidos no futuro à medida que o uso diminuir.
Added:
- AES128 CTR
- AES256 CTR
Obsoleto:
- AES128
- AES192
- AES256
Evite substituições e proteja o desempenho usando as configurações do repositório
Nesta atualização, você encontrará duas novas configurações de repositório para ajudar a manter o Git funcionando sem problemas.
A imposição de maiúsculas e minúsculas muda o servidor de seu modo padrão que diferencia maiúsculas de minúsculas, onde "File.txt" efile.txt" se referem ao mesmo arquivo, para um modo compatível com Windows e macOS, onde "File.txt" e "file.txt" são o mesmo arquivo. Essa configuração afeta arquivos, pastas, ramificações e tags. Além disso, evita que os contribuidores introduzam acidentalmente diferenças apenas entre casos. Recomenda-se ativar a imposição de casos quando a maioria dos seus colaboradores estiver executando o Windows ou macOS.
Limitar tamanhos de arquivo permite impedir que arquivos novos ou atualizados excedam um limite de tamanho definido. Quanto maior o número de arquivos grandes que existem no histórico de um repositório Git, pior se torna o desempenho da operação de clonagem e busca. Essa configuração impede a introdução acidental desses arquivos.
Capacidade de filtro aprimorada para confirmações com mais de 1000 arquivos alterados
Procurar um ficheiro em commits ou pull requests que tenham modificado mais de 1000 ficheiros foi ineficiente; precisarias de clicar no link de Carregar mais várias vezes para encontrar os ficheiros que te interessavam. Agora, quando filtras o conteúdo na visualização em árvore, a pesquisa por esse ficheiro é feita em todos os ficheiros no commit, em vez de se limitar a examinar apenas os 1000 primeiros ficheiros carregados. O desempenho da página de detalhes de confirmação também é melhorado quando há mais de 1000 arquivos modificados.
Encontrar confirmações perdidas devido a um Force Push
Você pode executar um push forçado do Git e atualizar uma ref remota, mesmo que ela não seja um ancestral da ref local. Isso pode fazer com que outras pessoas percam commits e pode ser muito difícil identificar a causa raiz. Na nova visualização de pushes, tornámos os pushes forçados percetíveis para ajudar a solucionar problemas relacionados com confirmações ausentes.
Clicar na tag force push leva você para a confirmação removida.
A culpa agora tem história
A visualização Blame é ótima para identificar a última pessoa a alterar uma linha de código. No entanto, às vezes você precisa saber quem fez a alteração anterior em uma linha de código. A mais recente melhoria na culpa pode ajudar - Ver culpa antes deste compromisso. Como o nome sugere, esse recurso permite que você volte no tempo para a versão do arquivo anterior à versão que alterou uma linha específica e visualize as informações de culpa dessa versão. Você pode continuar a explorar versões anteriores examinando cada versão do arquivo que alterou a linha de código selecionada.
Alternar quebra automática de texto e espaço em branco em modos de exibição de comparação
Dois novos recursos estão disponíveis no visualizador de comparação de arquivos: Alternar Word Wrap e Alternar espaço em branco. O primeiro permite que a configuração de quebra automática de texto seja aplicada enquanto estiver em uma visualização de comparação. Isso é particularmente útil para rever PRs que contêm ficheiros sem quebras de linha frequentes - ficheiros em Markdown são um bom exemplo. A opção para alternar espaço em branco é útil quando apenas o espaço em branco foi alterado em uma linha ou arquivo. Alternar essa configuração exibe e destaca os caracteres de espaço em branco (pontos para espaços, setas para guias, etc.) na comparação.
Para gerenciar essas configurações, clique na engrenagem de preferências do editor no editor de solicitação pull ou na visualização de comparação. Na visualização Arquivos , selecione a opção Preferências do Usuário no menu do botão direito do mouse.
Selecione os vários recursos do editor, incluindo Mostrar e diferenciar espaço em branco, Ativar quebra automática de texto, Habilitar dobragem de código e Mostrar minimapa.
A dobragem de código (chamada de "contorno" em alguns editores) também está sendo habilitada para a visualização da Web. Quando a dobragem de código estiver ativada, clique nos ícones de menos para recolher seções de código -- clique nos ícones de mais para expandir as seções recolhidas. A paleta de comandos F1 também expõe opções para dobrar vários níveis de recuo em um arquivo inteiro, facilitando a leitura e a revisão de arquivos grandes.
Rastreie o código enviado para um repositório Git para compilações e lançamentos
Agora você pode visualizar o status de compilação e liberação de confirmações de mesclagem na página Pushes . Ao clicar no status ao lado do push, você encontrará a compilação ou liberação específica na qual o push está incluído para que possa verificar o sucesso ou investigar a falha.
Marcação renderizada em notificações por e-mail
Markdown é ótimo para adicionar formatação avançada, links e imagens em descrições e comentários de solicitação pull (PR). As notificações por e-mail para RPs agora exibem a marcação renderizada em vez do conteúdo bruto, o que melhora a legibilidade.
As imagens embutidas ainda não são renderizadas em linha (elas são mostradas apenas como links), mas temos isso em nossa lista de pendências para adicionar no futuro.
Execute comandos TFVC diretamente do Windows Explorer
A extensão TFVC Windows Shell, que oferece uma experiência leve de controle de versão integrada ao Explorador de Arquivos do Windows, agora suporta o TFS 2018. Esta ferramenta dá acesso conveniente a muitos comandos TFVC diretamente no menu de contexto do Windows Explorer.
Anteriormente parte das ferramentas avançadas do TFS, a ferramenta foi lançada como uma ferramenta autónoma no Visual Studio Marketplace.
Controle quem pode contribuir para os pull requests
Anteriormente, qualquer pessoa que pudesse visualizar um repositório Git poderia trabalhar com suas solicitações pull. Adicionámos uma nova permissão chamada Contribute to pull requests que controla o acesso à criação de e comentários em pull requests. Todos os usuários e grupos que anteriormente detinham a permissão de Leitura também recebem essa nova permissão por padrão. A introdução dessa nova permissão dá aos administradores flexibilidade e controle adicionais. Se você exigir que seu grupo de leitores seja realmente somente leitura, poderá negar a permissão do Contribute para receber solicitações .
Consulte a documentação de início rápido para definir permissões de repositório para obter mais informações.
As notificações de comentários de pull request incluem o contexto do tópico
Muitas vezes, as respostas aos comentários de pull request (PR) são bastante breves, reconhecendo que uma alteração será ou foi feita. Isso não é um problema ao visualizar esses comentários na exibição da Web, mas se você estiver lendo um comentário em uma notificação por e-mail, o contexto do comentário original será perdido. Um simples "vou consertar" não tem significado.
Agora, sempre que uma resposta é feita a um comentário de RP, os e-mails de comentário incluem as respostas anteriores no corpo da mensagem de e-mail. Isso permite que os participantes do thread vejam o contexto completo do comentário diretamente de sua caixa de entrada - sem necessidade de abrir a visualização da Web.
Concluir configurações de itens de trabalho
O recurso para concluir itens de trabalho ao concluir solicitações pull agora tem uma nova configuração de repositório para controlar o comportamento padrão. A nova configuração para Lembrar as preferências do usuário para concluir itens de trabalho com solicitações pull é habilitada por padrão e respeita o último estado do usuário ao concluir futuras solicitações pull no repositório. Se a nova configuração estiver desabilitada, a opção Concluir itens de trabalho vinculados após a mesclagem será desabilitada como desabilitada para todas as solicitações pull no repositório. Os utilizadores ainda podem optar por fazer a transição de itens de trabalho vinculados ao concluir PRs, mas precisarão optar por fazê-lo cada vez.
Extensibilidade do status da solicitação pull
Usar políticas de ramificação pode ser uma ótima maneira de aumentar a qualidade do seu código. No entanto, essas políticas limitaram-se apenas às integrações fornecidas nativamente pelo TFS. Usando a nova API de status de solicitação pull e a política de ramificação correspondente, os serviços de terceiros podem participar do fluxo de trabalho de solicitação pull assim como os recursos nativos do TFS.
Quando um serviço é postado na API de Status para uma solicitação pull, ele aparece imediatamente na exibição de detalhes de RP em uma nova seção Status . A seção de status mostra a descrição e cria um link para a URL fornecida pelo serviço. As entradas de status também suportam um menu de ação (...) que é extensível para novas ações adicionadas por extensões da Web.
O status por si só não bloqueia a conclusão de um RP - é aí que a política entra. Uma vez que o status de RP tenha sido publicado, uma política pode ser configurada. A partir da experiência em políticas de filial, uma nova política está disponível para Exigir aprovação de serviços externos. Selecione + Adicionar serviço para iniciar o processo.
Na caixa de diálogo, selecione o serviço que está postando o status na lista e selecione as opções de política desejadas.
Quando a política estiver ativa, o estado será mostrado na seção Políticas, em Obrigatório ou Opcional, conforme apropriado, e a conclusão de PR será imposta conforme apropriado.
Para saber mais sobre a API de status e experimentá-la por conta própria, confira a documentação e os exemplos.
Ganchos de serviço de solicitação pull mesclam eventos
As extensões que usam ganchos de serviço de solicitação pull agora têm mais detalhes e opções de filtragem para eventos de mesclagem. Sempre que se tenta uma fusão, o evento é disparado independentemente de a fusão ter sucesso ou falhar. Quando uma tentativa de mesclagem resulta em uma falha, os detalhes sobre o motivo da falha são incluídos.
Mensagens de erro melhoradas para itens de trabalho completados com um pull request
Ao tentar concluir itens de trabalho com um pull request, é possível que o item de trabalho associado não possa ser alterado para o estado concluído. Por exemplo, um campo específico pode ser necessário e precisa da entrada do usuário antes que o estado possa fazer a transição. Melhoramos a experiência para informá-lo quando algo está bloqueando a transição do item de trabalho, permitindo que você tome medidas para fazer as alterações necessárias.
Mencione um pull request
Agora você pode mencionar solicitações pull em comentários de RP e discussões de item de trabalho. A experiência para mencionar um RP é semelhante à de um item de trabalho, mas usa um ponto ! de exclamação em vez de um ponto #de hash.
Sempre que você quiser mencionar um RP, digite um !, e você verá uma experiência interativa para escolher um RP da sua lista de RPs recentes. Introduza palavras-chave para filtrar a lista de sugestões ou introduza o ID do PR que pretende mencionar. Uma vez que um PR é mencionado, ele é apresentado em linha com o ID e o título completo, e será vinculado à página de detalhes do PR.
Ajude os revisores a usar rótulos em pull requests
Às vezes, é importante comunicar informações adicionais sobre um pull request aos revisores. Talvez a solicitação pull ainda seja um trabalho em andamento, ou seja um hotfix para uma próxima versão - então você anexa algum texto extra no título, talvez um prefixo "[WIP]" ou "NÃO MESCLAR". Os rótulos agora fornecem uma maneira de marcar solicitações pull com informações extras que podem ser usadas para comunicar detalhes importantes e ajudar a organizar solicitações pull.
Os comentários de pull request acompanham os ficheiros renomeados.
Às vezes, os arquivos são renomeados ou movidos enquanto uma solicitação pull está ativa. Anteriormente, se houvesse comentários nesses arquivos renomeados, a exibição mais recente do código não exibiria os comentários. Agora melhoramos o rastreamento de comentários para seguir as renomeações, exibindo comentários sobre a versão mais recente de arquivos renomeados ou movidos.
Exibir confirmação de mesclagem de solicitação pull
As visualizações de diffs de pull requests são ótimas para destacar as mudanças introduzidas na ramificação principal. No entanto, as alterações na ramificação de destino podem fazer com que a visualização de comparação pareça diferente do esperado. Um novo comando agora está disponível para exibir a comparação da confirmação de mesclagem "prévia" para a solicitação pull - View merge commit. Esta confirmação de merge é criada para verificar conflitos de merge e para usar com uma compilação relacionada a um pedido de pull, refletindo como será a confirmação de merge quando o pedido de pull for concluído. Quando a ramificação de destino tem alterações não refletidas na diff, a diff de confirmação de mesclagem pode ser útil para ver as alterações mais recentes nas ramificações de origem e de destino.
Outro comando que é útil em conjunto com o comando View merge commit é Restart merge (disponível no mesmo menu de comandos). Se a ramificação de destino tiver sido alterada desde que o pedido de pull foi criado inicialmente, a execução deste comando criará um novo commit de pré-visualização de mesclagem, atualizando a vista de diferenças do commit de mesclagem.
Revisores usados recentemente
Se você frequentemente tem seu código revisado pelas mesmas pessoas, será mais fácil do que nunca adicionar revisores. Ao adicionar revisores às suas solicitações pull, uma lista dos revisores adicionados recentemente é exibida automaticamente quando você coloca o foco na caixa de entrada dos revisores, sem necessidade de pesquisar por nome. Selecione-os como faria com qualquer revisor.
Exibir os critérios de política restantes para o preenchimento automático de pull request
O preenchimento automático é um recurso útil para equipes que usam políticas de filial, mas ao usar políticas opcionais, pode não ficar claro exatamente o que está impedindo a conclusão de uma solicitação pull. Agora, ao definir o preenchimento automático para uma solicitação pull, a lista exata de critérios de política que estão atrasando a conclusão é claramente listada na caixa de texto explicativo. À medida que cada requisito é atendido, os itens são removidos da lista até que não haja requisitos restantes e o pull request seja integrado.
Discuta matemática em pull requests
Precisa incluir uma equação ou expressão matemática nos seus comentários de pull request? Agora você pode incluir funções KaTeX em seus comentários, usando comentários embutidos e em bloco. Consulte a lista de funções suportadas para obter mais informações.
Sugestões de pull request para garfos
Sempre que uma ramificação de tópico é atualizada em um repositório, uma "sugestão" para criar uma nova solicitação pull (PR) para a ramificação de tópico é mostrada. Isso é muito útil para criar novos PRs, e nós activámos isso para aqueles que trabalham num repositório bifurcado, também. Se você atualizar uma ramificação em uma bifurcação, na próxima vez que visitar o hub de código para a bifurcação ou o repositório upstream, você verá a sugestão de criar uma solicitação pull. Se selecionar o link "Criar um pedido de pull", será redirecionado para a interface de criação de pedidos de pull, com as ramificações e repositórios de origem e destino pré-selecionados.
Filtros de caminho para políticas de solicitação pull
Muitas vezes, um único repositório contém código que é criado por vários pipelines de integração contínua (CI) para validar a compilação e executar testes. A política de compilação integrada agora suporta uma opção de filtragem de caminho que facilita a configuração de várias compilações de RP que podem ser necessárias e acionadas automaticamente para cada RP. Basta especificar um caminho para cada compilação para exigir e definir as opções de gatilho e requisito conforme desejado.
Além da compilação, as políticas de status também têm a opção de filtragem de caminho disponível. Isso permite que qualquer política personalizada ou de terceiros configure a aplicação de políticas para caminhos específicos.
Trabalho
Atalhos de teclado no formulário de item de trabalho
Atribua um item de trabalho a si mesmo (Alt + i), vá para a discussão (Ctrl + Alt + d) e copie um link rápido para o item de trabalho (Shift + Alt + c) usando atalhos de teclado. Para obter a lista completa de novos atalhos, digite "?" com um formulário de item de trabalho aberto ou consulte a tabela abaixo.
Opções de coluna modernizadas
A caixa de diálogo Opções de coluna usada para configurar as colunas da grade de item de trabalho nos hubs Lista de pendências, Consultas e Teste foi atualizada para usar um novo design de painel. Pesquise para encontrar um campo, arraste e solte para reordenar colunas ou remover colunas existentes que você não deseja mais.
Informações sobre a última execução da consulta
À medida que a árvore de Consultas Compartilhadas do seu projeto cresce, pode ser difícil determinar se uma consulta não é mais usada e pode ser excluída. Para ajudá-lo a gerenciar suas Consultas Compartilhadas, adicionamos duas novas partes de metadados às nossas APIs REST de consulta, executadas pela última vez até a data da última execução, para que você possa escrever scripts de limpeza para excluir consultas obsoletas.
Tags HTML removidas em grades de itens de trabalho
Com base nos comentários dos clientes, atualizamos o comportamento dos campos de texto de várias linhas nas exibições de resultados de consulta de item de trabalho na Web, no Excel e no IDE do Visual Studio para remover a formatação HTML. Quando adicionados como uma coluna à consulta, os campos de texto com várias linhas agora são exibidos como texto sem formatação. Aqui está um exemplo de um recurso com HTML na descrição.
No passado, os resultados da consulta renderizavam algo como <div><b><u>Customer Value</u>...
Adicionado suporte para o operador de consulta Not In
Os campos que suportam o operador de consulta "In" agora também suportam "Not In". Escreva consultas para itens de trabalho "Não Inserido" numa lista de IDs, "Não Inserido" numa lista de estados e muito mais, tudo sem ter que criar muitas cláusulas "Ou" aninhadas.
Consulta para @MyRecentActivity e @RecentMentions
Introduzimos duas novas macros de consulta para o campo ID para ajudá-lo a encontrar itens de trabalho que podem ser importantes para você. Veja em quais itens você foi mencionado nos últimos 30 dias usando o @RecentMentions ou dê uma olhada nos itens de trabalho que você visualizou ou editou recentemente usando o @MyRecentActivity.
Filtro de campos personalizados e etiquetas em notificações de rastreamento de itens de trabalho
As notificações agora podem ser definidas usando condições em campos e tags personalizados; não apenas quando eles mudam, mas quando certos valores são atendidos, e permite um conjunto mais robusto de notificações que podem ser definidas para itens de trabalho.
Suporte mencionado para a página Meus itens de trabalho
Adicionámos um novo separador Mencionado na página Meus itens de trabalho. Dentro desta seção, pode revisar os itens de trabalho em que o utilizador foi mencionado nos últimos 30 dias. Com essa nova visualização, você pode agir rapidamente em itens que exigem sua entrada e manter-se atualizado sobre conversas que são relevantes para você.
Este mesmo pivô também está disponível na nossa aplicação móvel, trazendo consistência entre o ambiente móvel e o ambiente de trabalho.
Filtragem nos planos
A extensão Planos de Entrega agora usa o nosso componente comum de filtragem e é consistente com as nossas experiências de filtragem em grade para tarefas e Painéis. Este controlo de filtragem proporciona uma usabilidade melhorada e uma interface consistente a todos os membros da sua equipa.
Navegação de planos atualizados
Muitos de vocês se preocupam com um plano específico ou conjunto de planos e usam favoritos para acesso rápido ao conteúdo. Primeiro, atualizamos o hub Planos para navegar até o seu plano visitado mais recentemente, em vez da página do diretório. Em segundo lugar, uma vez lá, você pode usar o seletor de favoritos para mudar rapidamente para outro plano ou usar a trilha para navegar de volta para a página do diretório.
Expandir/recolher requisitos/pessoas no quadro de tarefas
Agora você pode expandir ou recolher todos os itens no quadro de tarefas do sprint com apenas um clique.
Conceder a permissão bypassrule a usuários específicos
Muitas vezes, ao migrar itens de trabalho de outra fonte, as organizações desejam manter todas as propriedades originais do item de trabalho. Por exemplo, você pode querer criar um bug que mantenha a data de criação original e criado por valores do sistema onde ele se originou.
A API para atualizar um item de trabalho tem um indicador bypassrule para habilitar este cenário. Anteriormente, a identidade que fazia essa solicitação de API tinha que ser membro do grupo Administradores de Coleção de Projetos. Adicionámos uma permissão ao nível do projeto para executar a API com o sinalizador bypassrule.
Compilação e Distribuição
Compilações XAML
No TFS 2015, introduzimos um sistema de compilação multiplataforma baseado na Web. As compilações XAML não são suportadas no TFS 2018 RTW ou na Atualização 1, mas reativamos as compilações XAML no TFS 2018 Atualização 2. Recomendamos que você migre suas compilações XAML.
Quando você atualiza para a Atualização 2 do TFS 2018:
Se tiver quaisquer dados de compilação XAML na coleção do projeto de equipa, receberá um aviso sobre a obsolescência das funcionalidades de compilação XAML.
Você precisará usar o VS ou o Team Explorer 2017 para editar definições de compilação XAML ou enfileirar novas compilações XAML.
Se você precisar criar novos agentes de compilação XAML, precisará instalá-los usando o instalador do agente de compilação do TFS 2015.
Para obter uma explicação de nosso plano de substituição de compilação XAML, consulte a postagem do blog Evoluindo os recursos de automação de compilação do TFS/Team Services.
Aprimoramentos para compilações multifásicas
Você foi capaz de usar fases para organizar suas etapas de compilação e segmentar diferentes agentes usando demandas diferentes para cada fase. Adicionamos vários recursos para criar fases para que você possa:
Especifique uma fila de agentes diferente para cada fase. Isto significa que pode, por exemplo:
- Execute uma fase de uma compilação em um agente do macOS e outra fase em um agente do Windows. Para ver um exemplo legal de como isso pode ser útil, veja este Connect(); Vídeo de 2017: CI/CD DevOps Pipeline para aplicativos e serviços móveis.
- Execute etapas de compilação em um pool de agentes de compilação e etapas de teste em um pool de agentes de teste.
Execute testes mais rapidamente, executando-os em paralelo. Qualquer fase que tenha paralelismo configurado como "Multiagente" e contenha uma tarefa "VSTest" agora paralelize automaticamente a execução do teste na contagem de agentes configurada.
Permitir ou negar scripts para acessar o token OAuth a cada fase. Isso significa, por exemplo, que agora você pode permitir que scripts em execução em sua fase de compilação se comuniquem com VSTS por APIs REST e, na mesma definição de compilação, bloqueie os scripts em execução na fase de teste.
Execute uma fase apenas sob condições específicas. Por exemplo, você pode configurar uma fase para ser executada somente quando as fases anteriores forem bem-sucedidas ou somente quando estiver criando código na ramificação principal.
Para saber mais, consulte Fases no gerenciamento de compilação e versão.
Ignorar compilações agendadas se nada tiver sido alterado no repositório
Por solicitação popular, agora você pode especificar que uma compilação agendada não seja executada quando nada tiver sido alterado em seu código. Você pode controlar esse comportamento usando uma opção na agenda. Por padrão, não agendaremos uma nova compilação se sua última compilação agendada (da mesma agenda) tiver passado e nenhuma outra alteração tiver sido verificada no seu repositório.
Construa com integração contínua a partir do GitHub Enterprise
Agora você tem uma melhor integração para executar compilações de integração contínua (CI) se usar o GitHub Enterprise para controle de versão. Anteriormente, você estava limitado a sondar alterações de código usando o conector Git externo , o que pode ter aumentado a carga em seus servidores e causado atrasos antes que as compilações fossem acionadas. Agora, com o suporte oficial do GitHub Enterprise , as compilações de CI da equipe são imediatamente acionadas. Além disso, a conexão pode ser configurada usando vários métodos de autenticação, como LDAP ou contas integradas.
Arquivos seguros podem ser baixados para agentes durante a compilação ou lançamento
A nova tarefa Download Secure File suporta o download (para máquinas agentes) de arquivos criptografados da biblioteca VSTS Secure Files . À medida que o ficheiro é descarregue, é desencriptado e armazenado no disco do agente. Quando a compilação ou versão for concluída, o arquivo será excluído do agente. Isso permite que sua compilação ou liberação use arquivos confidenciais, como certificados ou chaves privadas que, de outra forma, são criptografadas com segurança e armazenadas no VSTS. Para obter mais informações, consulte Documentação de arquivos seguros.
Os perfis de provisionamento da Apple podem ser instalados a partir de repositórios de origem
A tarefa Instalar perfil de provisionamento da Apple já oferece suporte à instalação (em máquinas agentes) de perfis de provisionamento armazenados na biblioteca VSTS Secure Files . Os perfis de provisionamento são usados pelo Xcode para assinar e empacotar aplicativos da Apple, como para iOS, macOS, tvOS e watchOS. Agora, os perfis de provisionamento podem ser instalados a partir de repositórios de código-fonte. Embora o uso da biblioteca Arquivos Seguros seja recomendado para maior segurança desses arquivos, essa melhoria aborda o provisionamento de perfis já armazenados no controle do código-fonte.
Rastreie fontes do GitHub para compilações usando tags de compilação
As compilações do GitHub ou do GitHub Enterprise já estão associadas ao commit relevante. É igualmente importante ser capaz de rastrear um compromisso com as compilações que o construíram. Isso agora é possível habilitando a marcação de origem no TFS. Ao escolher seu repositório GitHub em uma definição de compilação, selecione os tipos de compilações que você deseja marcar, juntamente com o formato da tag.
Em seguida, observe as tags de compilação aparecerem no repositório do GitHub ou do GitHub Enterprise.
Kits de desenvolvimento Java específicos (JDKs) podem ser instalados durante compilações e lançamentos
Para construir determinados projetos Java, JDKs específicos podem ser necessários, mas não estão disponíveis em máquinas de agente. Por exemplo, os projetos podem exigir versões mais antigas ou diferentes da IBM, Oracle ou JDKs de código aberto. A tarefa Java Tool Installer baixa e instala o JDK necessário para o seu projeto durante uma compilação ou versão. A variável de ambiente JAVA_HOME é definida de acordo com a duração da compilação ou versão. JDKs específicos estão disponíveis para o Java Tool Installer usando um compartilhamento de arquivos, um repositório de código-fonte ou o Armazenamento de Blobs do Azure.
Configuração de compilação do Xcode melhorada
A tarefa Xcode foi atualizada com uma nova versão principal (4.*) que melhora a configuração da construção, teste e empacotamento do Xcode. Se o seu projeto Xcode tiver um único esquema compartilhado, ele será usado automaticamente. Foi adicionada ajuda adicional em linha. Recursos preteridos, como o empacotamento xcrun, foram removidos das propriedades da tarefa Xcode. As definições de compilação e versão existentes devem ser modificadas para usar esta última versão 4.* da tarefa Xcode. Para novas definições, se você precisar dos recursos preteridos de uma versão anterior da tarefa Xcode, poderá selecionar essa versão em sua definição.
Portões de liberação
O monitoramento contínuo é parte integrante dos pipelines de DevOps. Garantir que o aplicativo em uma versão esteja íntegro após a implantação é tão crítico quanto o sucesso do processo de implantação. As empresas adotaram várias ferramentas para a deteção automática da integridade do aplicativo na produção e para acompanhar os incidentes relatados pelos clientes. Até agora, os aprovadores tinham que monitorar manualmente a integridade dos aplicativos de todos os sistemas antes de promover o lançamento. No entanto, o Release Management agora oferece suporte à integração do monitoramento contínuo em pipelines de lançamento. Use isso para garantir que o sistema consulte repetidamente todos os sinais de integridade do aplicativo até que todos eles sejam bem-sucedidos ao mesmo tempo, antes de continuar o lançamento.
Você começa definindo portas de pré ou pós-implantação na definição de versão. Cada portão pode monitorar um ou mais sinais de saúde correspondentes a um sistema de monitoramento do aplicativo. Os portões internos estão disponíveis para "alertas do Azure monitor (application insight)" e "Itens de trabalho". Você pode integrar com outros sistemas usando a flexibilidade oferecida por meio das funções do Azure.
No momento da execução, o Release começa a coletar amostras de todos os portões e coletar sinais de saúde de cada um deles. Ele repete a amostragem em cada intervalo até que os sinais coletados de todas as portas no mesmo intervalo sejam bem-sucedidos.
As amostras iniciais dos sistemas de monitorização podem não ser precisas, uma vez que podem não estar disponíveis informações suficientes para a nova implantação. A opção "Atraso antes da avaliação" garante que a liberação não progrida durante esse período, mesmo que todas as amostras sejam bem-sucedidas.
Nenhum agente ou tubulação é consumido durante a amostragem de portões. Consulte a documentação de portões de liberação para obter mais informações.
Implantar seletivamente com base no artefato que aciona um lançamento
Múltiplas fontes de artefactos podem ser adicionadas a uma definição de lançamento e configuradas para iniciar um lançamento. Uma nova versão é criada quando uma nova compilação está disponível para qualquer uma das fontes. O mesmo processo de implantação é executado independentemente da fonte que acionou a versão. Agora você pode personalizar o processo de implantação com base na fonte de acionamento. Para versões acionadas automaticamente, a variável de liberação Release.TriggeringArtifact.Alias agora é preenchida para identificar a origem do artefato que disparou a versão. Isso pode ser usado em condições de tarefa, condições de fase e parâmetros de tarefa para ajustar dinamicamente o processo. Por exemplo, se você só precisa implantar os artefatos que foram alterados nos ambientes.
Gerenciar segurança específica da entidade
Anteriormente, na segurança baseada em função, quando as funções de acesso de segurança eram definidas, elas eram estabelecidas para um utilizador ou grupo ao nível do hub para grupos de implementação, grupos de variáveis, filas de agentes e pontos de extremidade de serviço. Agora você pode ativar e desativar a herança para uma entidade específica para que possa configurar a segurança da maneira desejada.
Aprovar vários ambientes
Gerenciar aprovações com lançamentos agora é mais simples. Para pipelines com o mesmo aprovador para vários ambientes que são implantados em paralelo, o aprovador, neste momento, precisa tratar de cada aprovação separadamente. Com esse recurso, agora você pode concluir várias aprovações pendentes ao mesmo tempo.
Extensibilidade do modelo de versão
Os modelos de versão permitem que você crie uma linha de base para você começar a definir um processo de versão. Anteriormente, era possível carregar novos itens para a sua conta, mas agora os autores podem incluir modelos de versão nas suas extensões. Você pode encontrar um exemplo no repositório GitHub.
Tarefas e fases de liberação condicional
Semelhante às tarefas de compilação condicional, agora você pode executar uma tarefa ou fase somente se condições específicas forem atendidas. Isso o ajudará na modelagem de cenários de reversão.
Se as condições internas não atenderem às suas necessidades, ou se você precisar de um controle mais refinado sobre quando a tarefa ou fase é executada, você pode especificar condições personalizadas. Exprima a condição como um conjunto aninhado de funções. O agente avalia a função mais interna e avança para o exterior. O resultado final é um valor booleano que determina se a tarefa deve ser executada.
Histórico de solicitações para endereços de serviço
Os pontos de extremidade de serviço permitem a conexão com serviços externos e remotos para executar tarefas para uma compilação ou implantação. Os pontos de extremidade são configurados no escopo do projeto e compartilhados entre várias definições de compilação e versão. Os proprietários de endpoints de serviço agora podem obter uma visão consolidada das compilações e implantações através de um único endpoint, o que pode ajudar a melhorar a governança e a auditoria.
As propriedades padrão para os tipos de artefato Git e GitHub agora são editáveis
Agora você pode editar as propriedades padrão dos tipos de artefato Git e GitHub, mesmo depois que o artefato tiver sido vinculado. Isso é particularmente útil em cenários em que a ramificação para a versão estável do artefato foi alterada, e futuras versões de entrega contínua devem usar essa ramificação para obter versões mais recentes do artefato.
Implante ambientes em massa manualmente a partir da visualização de liberação
Agora você pode acionar manualmente uma ação Implantar em vários ambientes de uma versão ao mesmo tempo. Isso permite que você selecione vários ambientes em uma versão com configurações ou implantações com falha e reimplante em todos os ambientes em uma operação.
Suporte do Jenkins para pipeline multirramificações e ligação de tarefas organizadas em pastas
O consumo de projetos do Jenkins tornou-se ainda melhor.
Primeiro, agora é possível utilizar projetos de pipeline de várias ramificações do Jenkins como fontes de artefatos numa definição de release.
Em segundo lugar, enquanto anteriormente você podia vincular projetos Jenkins como artefatos apenas a partir da pasta raiz de um servidor Jenkins, agora os projetos Jenkins podem ser consumidos quando organizados no nível da pasta. Você vê a lista de projetos Jenkins, juntamente com caminhos de pasta, na lista de fontes a partir das quais você seleciona o projeto a ser consumido como fonte de artefato.
Hub do Docker ou Registro de Contêiner do Azure como uma origem de artefato
Esse recurso permite que as versões usem imagens armazenadas em um registro do Docker Hub ou em um Registro de Contêiner do Azure (ACR). Este é um primeiro passo para dar suporte a cenários como a implementação de novas alterações região por região usando o recurso de replicação geográfica do ACR ou implantando em um ambiente (como produção) a partir de um registro de contêiner que tenha imagens apenas para o ambiente de produção.
Agora pode configurar o Docker Hub ou ACR como um artefato de primeira classe na experiência de + Adicionar artefato de uma definição de liberação. Por enquanto, a liberação tem que ser acionada manualmente ou por outro artefato, mas estamos ansiosos para adicionar um gatilho com base no envio de uma nova imagem para o registro em breve.
Versões de artefato padrão
Agora há várias opções de versão padrão ao vincular artefatos de controle de versão a uma definição de versão. Você pode configurar um commit/changeset específico ou simplesmente configurar para que seja escolhida a versão mais recente do ramo padrão. Normalmente, você o configura para pegar a versão mais recente, mas isso é especialmente útil em alguns ambientes onde uma versão de artefato dourado precisa ser especificada para todas as implantações contínuas futuras.
A liberação aciona aprimoramentos de ramificação
Agora você pode configurar um filtro de gatilho de liberação com base na ramificação padrão especificada na definição de compilação. Isso é particularmente útil se sua ramificação de compilação padrão mudar a cada sprint e os filtros de gatilho de liberação precisarem ser atualizados em todas as definições de versão. Agora você só precisa alterar a ramificação padrão na definição de compilação e todas as definições de versão usam automaticamente essa ramificação. Por exemplo, se sua equipe estiver criando ramificações de liberação para cada carga útil de liberação de sprint, você a atualizará na definição de compilação para apontar para uma nova ramificação de liberação de sprint e a versão pegará isso automaticamente.
Desencadeador de lançamento para um artefato de gestão de pacotes
Agora você pode definir um gatilho em um artefato de Gerenciamento de Pacotes em uma definição de Versão para que uma nova versão seja criada automaticamente quando uma nova versão do pacote for publicada. Consulte a documentação de gatilhos no Release Management para obter mais informações.
Definir o escopo de um grupo de variáveis para ambientes específicos
Anteriormente, quando um grupo de variáveis era adicionado a uma definição de versão, as variáveis que ele continha estavam disponíveis para todos os ambientes na versão. Agora, você tem a flexibilidade de definir o escopo dos grupos de variáveis para ambientes específicos. Isso os torna disponíveis para um ambiente, mas não para outros ambientes da mesma versão. Isso é ótimo quando você tem um serviço externo, como um serviço de email SMTP, que é diferente entre ambientes.
Liberar automaticamente do Registro de Contêiner do Azure e do Docker Hub
Ao implantar aplicações em contentores, a imagem do contentor é primeiro carregada para um registo de contentores. Após a conclusão do push, a imagem do contêiner pode ser implantada em um aplicativo Web para contêineres ou em um cluster Kubernetes. Agora você pode habilitar a criação automática de versões em atualizações para as imagens armazenadas no Docker Hub ou no Registro de Contêiner do Azure adicionando-as como uma fonte de artefato.
Especificar uma versão padrão para artefatos Jenkins
Quando uma versão com vários artefatos é acionada automaticamente, as versões padrão salvas na definição de liberação são selecionadas para todos os artefatos. Anteriormente, os artefatos Jenkins não tinham uma configuração de versão padrão e, portanto, você não podia definir um gatilho de implantação contínua em uma versão usando Jenkins como artefato secundário.
Agora, você pode especificar uma versão padrão para artefatos Jenkins, com as opções com as quais você está familiarizado:
- Latest
- Especificar no momento da criação da versão
- Versão específica
Contribua com portas de liberação de extensões
As portas de liberação permitem a adição de aprovações orientadas por informações aos pipelines de liberação. Um conjunto de sinais de saúde é coletado repetidamente antes ou depois da implantação, para determinar se a versão deve ou não ser promovida para o estágio seguinte. Um conjunto de portas internas é fornecido, e "Invocar a função Azure" tem sido recomendado até agora como um meio de integração com outros serviços. Agora simplificamos a rota para integrar com outros serviços e adicionar portas através de extensões de marketplace. Agora você pode contribuir com tarefas de porta personalizadas e fornecer aos autores de definição de liberação uma experiência aprimorada para configurar o portão.
Saiba mais sobre tarefas de autorização de criação.
Dimensionar implantações para máquinas virtuais usando grupos de implantação
Os Grupos de Implantação, que oferecem uma implantação robusta e pronta para uso em várias máquinas, agora estão disponíveis para o público em geral. Com os Grupos de Implantação, você pode orquestrar implantações em vários servidores e executar atualizações contínuas, garantindo alta disponibilidade do seu aplicativo por toda parte. Você também pode implantar em servidores locais ou máquinas virtuais no Azure ou em qualquer nuvem e ter rastreabilidade de ponta a ponta de versões de artefatos implantados até o nível do servidor.
A capacidade de implementação baseada em agente depende dos mesmos agentes de compilação e implantação que já estão disponíveis. Você pode usar o catálogo completo de tarefas nas suas máquinas de destino na fase de Grupo de Implantação. De uma perspetiva de extensibilidade, você também pode usar as APIs REST para grupos de implantação e destinos para acesso programático.
Package
Use pacotes públicos sem problemas usando fontes upstream
Fontes de origem para nuget.org e npmjs.com já estão disponíveis. Os benefícios incluem a capacidade de gerir (deslistar, descontinuar, não publicar, eliminar, etc.) pacotes guardados de fontes upstream, bem como a garantia de guardar cada pacote upstream utilizado.
Políticas de retenção nos feeds do Team Foundation Server (TFS)
Até agora, os feeds de pacotes do TFS não forneciam nenhuma maneira de limpar automaticamente versões de pacotes mais antigas e não utilizadas. Para editores de pacotes frequentes, isso pode resultar em consultas de feed mais lentas no Gerenciador de Pacotes NuGet e em outros clientes até que algumas versões sejam excluídas manualmente.
Agora habilitamos políticas de retenção em feeds do TFS. As políticas de retenção excluem automaticamente a versão mais antiga de um pacote assim que o limite de retenção for atingido. Os pacotes promovidos para visualizações são mantidos indefinidamente, oferecendo a capacidade de proteger versões que são usadas em produção ou amplamente usadas em toda a sua organização.
Para habilitar as políticas de retenção, edite seu feed e insira um valor na seção Número máximo de versões por pacote na seção Políticas de retenção .
Filtragem no gerenciamento de pacotes
A página Pacotes foi atualizada para usar nosso layout de página padrão, controle da barra de comandos e a nova barra de filtros padrão.
Compartilhe seus pacotes usando um selo
Na comunidade de código aberto, é comum usar um selo que vincula à versão mais recente do seu pacote no README do repositório. Agora você pode criar selos para pacotes em seus feeds. Basta marcar a opção Ativar selos de pacote nas configurações de feed, selecionar um pacote e clicar em Criar selo. Você pode copiar o URL do selo diretamente ou copiar Markdown pré-gerado que vincula o selo de volta à página de detalhes do seu pacote.
As versões anteriores do pacote agora aparecem num formato de lista de página inteira.
Recebemos muitos comentários sobre a experiência de Gerenciamento de Pacotes atualizada, onde movemos a lista de versões anteriores do pacote para um seletor de navegação em breadcrumb na página de detalhes do pacote. Adicionamos um novo pivô de versões que traz mais informações sobre versões anteriores e torna mais fácil copiar o número da versão ou obter um link para uma versão antiga.
Ver a qualidade de uma versão de pacote na lista de pacotes
Na lista de pacotes, agora é possível ver a(s) visualização(ões) de cada versão dos pacotes para determinar rapidamente a qualidade de cada uma. Consulte a documentação sobre visualizações de versão para mais informações. ) documentação para mais informações.
Suporte a Gulp, Yarn e mais feeds autenticados
A tarefa npm hoje funciona perfeitamente com feeds npm autenticados (no Gerenciamento de Pacotes ou registros externos como npm Enterprise e Artifactory), mas até agora tem sido um desafio usar um executor de tarefas como o Gulp ou um cliente npm alternativo como o Yarn , a menos que essa tarefa também ofereça suporte a feeds autenticados. Adicionamos uma nova tarefa de compilação npm Authenticate que adiciona credenciais ao seu .npmrc para que as tarefas subsequentes possam usar feeds autenticados com êxito.
As permissões padrão do feed de pacotes agora incluem Administradores de Projeto
No passado, a criação de um feed definia o usuário criador como o único proprietário do feed, o que pode causar desafios de administração em grandes organizações se esse usuário mudar de equipe ou sair da organização. Para remover esse único ponto de falha, a criação de um feed agora usa o contexto atual do projeto do usuário para obter o grupo Administradores de Projeto e torná-lo proprietário do feed também. Como acontece com qualquer permissão, você pode remover esse grupo e personalizar ainda mais as permissões de feed usando a caixa de diálogo de configurações de feed.
Reciclar e restaurar pacotes
A exclusão de pacotes não utilizados pode ajudar a manter a lista de pacotes limpa, mas às vezes isso pode ser feito por engano. Agora você pode restaurar pacotes excluídos da Lixeira. Os pacotes excluídos são retidos na Lixeira por 30 dias, dando tempo suficiente para restaurar se necessário.
Ligação para pacotes a partir de qualquer lugar
Embora você pudesse compartilhar a URL para um pacote encontrado no hub Pacotes no passado, muitas vezes era difícil de usar porque você precisava incluir um projeto na URL, que pode ou não se aplicar àqueles que usam o link. Com esta atualização, agora você pode compartilhar pacotes usando uma URL que seleciona automaticamente um projeto ao qual o destinatário tem acesso.
O formato de URL é: `https://<TFSserverURL>/_packaging?feed=<feed>&package=<package>&version=<version>&protocolType=<NuGet|Npm|Maven>&_a=package`
Todos os parâmetros, exceto '<TFSserverURL>' são opcionais, mas se você fornecer um pacote, deverá fornecer o tipo de protocolo.Test
A tarefa de teste do Visual Studio não precisa do Visual Studio completo
A tarefa de teste do Visual Studio na compilação/liberação requer o Visual Studio no agente para executar testes. Em vez de instalar o Visual Studio para executar testes em ambientes de produção ou para simplesmente distribuir testes em vários agentes, use a nova tarefa do Visual Studio Test Platform Installer . Essa tarefa adquire a plataforma de teste do nuget.org e a adiciona ao cache de ferramentas. A tarefa do instalador satisfaz a demanda vstest e uma tarefa de teste do Visual Studio subsequente na definição pode ser executada sem a necessidade de uma instalação completa do Visual Studio no agente.
No catálogo de tarefas, adicione a tarefa do instalador em sua definição.
Configure a tarefa de teste do Visual Studio subsequente para usar os bits adquiridos por meio do instalador.
Observação
Limitações: Atualmente, o pacote da plataforma de teste no NuGet não oferece suporte à execução do teste de interface do usuário codificada. A habilitação do suporte para o teste de interface do usuário codificada está na lista de pendências. O pacote da plataforma de teste no NuGet é multiplataforma, mas a tarefa VSTest atualmente não oferece suporte à execução de testes de núcleo do .NET. Para executar testes de núcleo do .NET, use a tarefa 'dot net'.
Executar testes funcionais e as tarefas de implementação do agente de teste agora estão obsoletas.
No ano passado, começamos a jornada para unificar os agentes em compilação, lançamento e teste. O objetivo era abordar vários pontos problemáticos associados ao uso de tarefas Implantar Agente de Teste e Executar Testes Funcionais baseadas no WinRM. Ele também permite que você use a tarefa de teste do Visual Studio (VSTest) para todas as suas necessidades de teste, incluindo:
- Testes unitários
- Testes funcionais (UI/não-UI)
- Testes baseados em MSTest
- Testes baseados em estruturas de terceiros
- Especificação de teste baseada em montagem ou execução de testes com Plano de Teste/Conjunto de Testes
- Execução de testes de agente único, bem como distribuição de testes em vários agentes
A abordagem de agentes unificados também permite que os administradores gerenciem todas as máquinas usadas para CI/CD de maneira uniforme.
Entregamos várias peças cruciais para habilitar essa capacidade, incluindo:
- Os agentes podem ser configurados para testes de interface do usuário
- O Visual Studio Test Platform Installer permite que a tarefa VSTest seja executada sem a necessidade do Visual Studio pré-instalado
- As definições de compilação e versão podem ser criadas com várias fases e têm a capacidade de usar filas de agentes diferentes para cada fase
- Casos de teste automatizados podem ser executados a partir do hub de teste usando a tarefa VSTest
Agora que tudo isto está implementado, estamos prontos para descontinuar estas duas tarefas. Embora as definições existentes que usam as tarefas preteridas continuem a funcionar, recomendamos que você passe a usar o VSTest para aproveitar o aprimoramento contínuo ao longo do tempo.
Filtrar grandes resultados de testes
Com o tempo, os ativos de teste se acumulam e grandes aplicativos podem facilmente crescer para milhares de testes. As equipes estão procurando melhores maneiras de navegar por grandes conjuntos de resultados de teste para serem produtivas enquanto identificam falhas de teste, causa raiz associada ou propriedade de problemas. Para habilitar isso, adicionamos três novos filtros na guia Testes em Compilar e liberar como nome de teste, contêiner (DLLs) e proprietário (proprietário do contêiner).
Além disso, o filtro Resultado existente agora fornece a capacidade de filtrar vários resultados. Os vários critérios de filtragem são de natureza cumulativa. Como usuário, quando quero ver o resultado dos meus testes para uma alteração que acabei de confirmar, posso filtrar o Contêiner (nome da DLL), Proprietário (proprietário da DLL), Nome do Teste, ou todos eles, para chegar aos resultados relevantes para mim.
Identificar testes instáveis
Às vezes, os testes são instáveis - eles falham numa execução e passam noutra sem alterações. Testes irregulares podem ser frustrantes e minam a confiança na eficácia dos testes - fazendo com que as falhas sejam ignoradas e os bugs passem despercebidos. Com esta atualização, implantamos a primeira parte de uma solução para ajudar a resolver o problema dos testes escamosos. Agora você pode configurar a tarefa de teste do Visual Studio para executar novamente testes com falha. Os resultados do teste indicam quais testes inicialmente falharam e depois passaram na nova execução. O suporte para a repetição de testes controlados e ordenados por dados será disponibilizado mais tarde.
A tarefa de teste do Visual Studio pode ser configurada para controlar o número máximo de tentativas de executar novamente testes com falha e uma porcentagem limite para falhas (por exemplo, executar novamente os testes se menos de 20% de todos os testes falharem) para evitar a reexecução de testes em caso de falhas de ampla disseminação.
Na guia Testes , em Compilar e Liberar, você pode filtrar os resultados do teste com Resultado como "Passado na reexecução" para identificar os testes que tiveram um comportamento não confiável durante a execução. Atualmente, isso mostra a última tentativa para cada teste que passou na nova execução. A visualização Resumo também é modificada para mostrar "Aprovado na nova execução (n/m)" sob Total de testes, onde n é a contagem de testes aprovados na nova execução e m é o total de testes aprovados. Uma visão hierárquica de todas as tentativas está chegando nos próximos sprints.
Melhorias de visualização e suporte para diferentes tipos de log gerados pela tarefa de teste do Visual Studio
Aprimorámos a tarefa VSTest para publicar logs gerados por diferentes tipos de declarações de registo correspondentes ou à saída padrão ou ao erro padrão para testes que falharam. Também melhorámos a experiência de pré-visualização para suportar a visualização de formatos de texto e ficheiros de registo, com capacidade para pesquisar nos ficheiros de registo.
Plataforma Wiki
Pesquisa Wiki
Você pode pesquisar suas páginas Wiki favoritas por título ou conteúdo ao lado de código e itens de trabalho. Você pode ler mais sobre a pesquisa Wiki no Blog do Microsoft DevOps.
Imprimir páginas Wiki
Wiki pode ser usado para uma variedade de conteúdo. Às vezes, pode ser útil imprimir conteúdo do Wiki para ler em seu tempo livre, adicionar comentários usando papel e caneta ou até mesmo compartilhar uma cópia PDF offline com aqueles fora do seu projeto VSTS. Agora, basta clicar no menu de contexto de uma página e selecionar Imprimir página.
Observação
Atualmente, este recurso não é suportado no Firefox.
Contribua para páginas Wiki com facilidade usando atalhos de teclado
Agora você pode usar atalhos para executar ações comuns de edição e visualização no Wiki ainda mais rápido usando apenas o teclado.
Ao visualizar uma página, você pode adicionar, editar ou criar uma subpágina, por exemplo:
Ao editar uma página, pode-se salvar rapidamente, salvar e fechar ou apenas fechar.
Estes são além de atalhos de edição padrão, como Ctrl + B para negrito, Ctrl + I para itálico, Ctrl + K para vinculação, etc. Consulte a lista completa de atalhos de teclado para obter mais informações.
Renderização de markdown avançada em markdown de reposição de código
Agora, pode criar ficheiros README.MD ricos nos repositórios de código. A renderização de markdown dos arquivos MD em repositórios de código agora suporta tags HTML, citações em bloco, emojis, redimensionamento de imagem e equações matemáticas. Há paridade na renderização de markdown em arquivos Wiki e MD no código.
Wiki suporta fórmulas matemáticas
Se o seu aplicativo lida com fórmulas matemáticas e equações, agora você pode colocá-las no Wiki usando o formato LaTeX.
Itens de trabalho de referência no Wiki
Agora você pode fazer referência a itens de trabalho em páginas Wiki pressionando a tecla '#' para obter uma lista dos itens de trabalho acessados mais recentemente e selecionando o item de trabalho de interesse. Isso é particularmente útil ao escrever notas de versão, histórias, especificações ou outras páginas que exigem referir-se a um item de trabalho.
Vincular itens de trabalho e páginas Wiki
Agora você pode vincular um item de trabalho a um Wiki e vice-versa. Você pode vincular itens de trabalho ao Wiki para criar páginas épicas, notas de lançamento e conteúdo de planejamento que o ajude a rastrear os itens de trabalho associados a uma página Wiki e validar qual porcentagem de sua página épica está completa.
Os itens de trabalho vinculados aparecem na página Wiki.
Adicione um link para uma página Wiki a partir de um item de trabalho através do novo tipo de link "Página Wiki".
Ctrl+S para salvar a página Wiki
Ouvimos que você queria uma maneira mais rápida e fácil de salvar uma página Wiki. Agora você pode simplesmente usar o atalho de teclado Ctrl+S para salvar uma página com uma mensagem de revisão padrão e continuar editando. Se você gostaria de adicionar uma mensagem de revisão personalizada, basta clicar na divisa ao lado do botão salvar.
Colar conteúdo Wiki rico como HTML
Agora você pode colar rich text no editor de markdown do Wiki a partir de qualquer aplicativo baseado em navegador, como Confluence, OneNote, SharePoint e MediaWiki. Isso é particularmente útil para aqueles que criaram conteúdo rico, como tabelas complexas e querem mostrá-lo no Wiki. Basta copiar o conteúdo e colá-lo como HTML.
Mover página no Wiki usando o teclado
Anteriormente no Wiki, os utilizadores não podiam reordenar ou alterar a hierarquia de páginas usando o teclado e isso afeta os utilizadores que preferem utilizar operações de teclado. Agora você pode reordenar páginas usando os comandos Ctrl + Up ou Ctrl + Down. Você também pode alterar o pai das páginas clicando em Mover página no menu de contexto de uma página e selecionando a nova página pai.
Filtrar realce de texto
A filtragem do painel de navegação no Wiki mostra toda a hierarquia de páginas. Por exemplo, se filtrares uma página intitulada "foobar", o painel de navegação filtrado também mostrará todas as páginas mãe. Isso pode causar confusão sobre por que páginas sem título "foobar" estão aparecendo em conjuntos filtrados de resultados. Agora, filtrar conteúdo no Wiki destaca o texto que está sendo pesquisado para dar uma imagem clara dos títulos que são filtrados e aqueles que não são.
Você também observará um comportamento semelhante em todos os painéis de navegação de código. Por exemplo, o painel de navegação de arquivos em solicitações pull, confirmações, conjuntos de alterações e conjuntos de prateleiras.
Visualizar conteúdo à medida que edita páginas Wiki
Os dados mostram que os usuários quase sempre visualizam uma página Wiki várias vezes durante a edição de conteúdo. Para cada edição de página, os usuários clicam em Visualizar 1-2 vezes, em média. Isso resulta numa experiência de edição lenta e subótima, e pode ser particularmente demorada para novos utilizadores do markdown. Agora você pode ver a visualização da sua página durante a edição.
General
Cartões de perfil
Há várias áreas no TFS onde as informações associadas a um indivíduo específico são mostradas, tais como, mas não limitadas a: solicitações pull criadas por um indivíduo e itens de trabalho atribuídos a um indivíduo. No entanto, há informações limitadas sobre o próprio indivíduo para que você obtenha contexto completo. O novo cartão de perfil substitui o cartão de perfil existente no TFS. O cartão de perfil atualizado permite que você interaja e saiba mais sobre os usuários em sua conta do TFS. Através de integrações com seu cliente de e-mail e IM padrão, os usuários do Ative Directory (AD) podem enviar e-mails e iniciar bate-papos diretamente do cartão de perfil. Os usuários do AD também podem ver a hierarquia organizacional no cartão de perfil. Os cartões de perfil podem ser ativados na página inicial do projeto - seção de membros da equipe, controle de versão, itens de trabalho e seções Wiki clicando no ícone do cartão de visita, na foto do perfil ou no nome do usuário nos comentários.
Avatares de círculo
Avatares de círculo estão aqui! Todas as fotos de perfil no serviço agora são exibidas em forma de círculo, em vez de quadrado. Como exemplo, aqui está a solicitação de pull real para essa alteração (observe os avatares circulares e não quadrados).
Tags do projeto
Agora você pode adornar projetos com palavras-chave importantes (tags). As tags são facilmente adicionadas e excluídas diretamente da página inicial do projeto (pelos administradores), permitindo que os usuários entendam rapidamente mais sobre o objetivo e o escopo do projeto. Temos mais planos de como as tags de projetos podem ser aproveitadas, então fique atento para mais novidades aqui.
Reordenar grupos favoritos
Agora você pode reordenar os grupos na página Meus favoritos da conta usando as setas para cima e para baixo em cada cabeçalho de grupo.
Feedback & Sugestões
Gostaríamos muito de ouvir a sua opinião! Você pode relatar um problema e rastreá-lo através da Comunidade de Desenvolvedores e obter conselhos sobre o Stack Overflow.