Partilhar via


Notas de versão do Team Foundation Server 2018


Comunidade de Desenvolvedores | Requisitos do Sistema e Compatibilidade | Termos de Licença | Blog DevOps do TFS | Hashes SHA-1 | Notas das Versões Mais Recentes do Visual Studio 2019


Observação

Se estiver a aceder a esta página numa outra língua que não o inglês e quiser ver o conteúdo mais atualizado, visite esta página de Notas de Lançamento 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 o Team Foundation Server 2018. Clique no botão para fazer o download.

Baixe a versão mais recente do Team Foundation Server

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.

Consulte a página Instalação do TFS para obter mais informações.


Ícone de Notas de Lançamento Data de Lançamento: 15 de novembro de 2017

Resumo do que há de novo no TFS 2018

Adicionamos muito valor novo ao Team Foundation Server 2018. Alguns dos destaques incluem:

O que há de novo no vídeo do TFS 2018

Compilação XAML

Originalmente, tínhamos listado a compilação XAML como removida do TFS 2018 RTW e da Atualização 1. No entanto, isso resultou em muitos clientes sendo incapazes de atualizar ou tendo que entrar em contato com o suporte para reativá-lo após a conclusão da atualização. Na Atualização 2 do TFS 2018, a compilação XAML está habilitada, mas foi preterida. Isso significa que não há mais investimento em compilação XAML e o Microsoft Test Manager (MTM) não suporta mais o uso de compilações XAML. É altamente recomendável converter para um dos formatos de definição de compilação mais recentes. Você pode continuar a conectar seus controladores XAML e executar compilações XAML com o TFS 2018 Update 2. Mais informações

Recursos removidos no TFS 2018 RTW


Detalhes do que há de novo no TFS 2018

Rastreamento de item de trabalho

Assistente de Criação de Projetos na Web

Melhorámos a experiência de criação de um Projeto de Equipa a partir do acesso web. Ele agora inclui a maioria dos recursos disponíveis quando você cria um projeto de equipe no cliente Visual Studio. O benefício de usar a interface da Web é que você não precisa de uma versão correspondente do Visual Studio. A diferença de usar o Visual Studio ou a versão da Web é que a versão da Web não provisiona seus relatórios no SSRS. Se usou a versão web para criar o Projeto de Equipa, pode executar o comando tfsconfig na Camada de Aplicação para configurar ou atualizar os relatórios do SSRS.

Process Template Manager na internet

Com o TFS 2018, você pode usar o acesso à Web para carregar seus modelos de processo. A interface da Web é uma experiência muito mais fácil porque você não precisa instalar a versão correta do Visual Studio para interagir com seus modelos de processo. O Visual Studio 2017 Update 4 e versões anteriores ainda mostrarão a caixa de diálogo Gerenciador de Modelos de Processo , embora seja recomendável usar a interface da Web. O Visual Studio 2017 Update 5 e posterior irá redirecioná-lo para a Web automaticamente.

Personalizar o cabeçalho do formulário de item de trabalho

Agora você pode personalizar a área de cabeçalho do formulário de item de trabalho substituindo os controles existentes ou ocultando controles que não são relevantes para o seu processo. Isso permitirá substituir o caminho da área por um campo personalizado da equipa, ocultar a iteração caso as suas equipas estejam mais focadas no Kanban e substituir o motivo por um campo personalizado. O campo Estado não pode ser oculto ou substituído.

Sugestão

Consulte a documentação dos elementos WebLayout e Control para obter mais informações.

Formulário de item de trabalho para dispositivos móveis

Temos uma experiência completa de ponta a ponta que inclui um aspeto e sensação otimizados para os itens de trabalho (Figura 1). Ele fornece uma maneira fácil de interagir com itens que são atribuídos a você, estão seguindo, visitaram ou editaram recentemente a partir do seu telefone.

Consulta de item de trabalho móvel
(Figura 1) Consulta de item de trabalho móvel

Juntamente com a boa aparência, essa experiência suporta controles otimizados para todos os tipos de campo (Figura 2).

Formulário de item de trabalho móvel
(Figura 2) Formulário de item de trabalho móvel

Com a nova navegação móvel (Figura 3), os usuários podem acessar qualquer outra parte do TFS pronta para dispositivos móveis e voltar ao site completo para desktop, caso precisem interagir com outros hubs.

Navegação móvel
(Figura 3) Navegação móvel

Filtragem em listas de pendências, quadros Kanban, sprints e consultas

Todas as nossas experiências de grade de rastreamento de itens de trabalho (consultas, listas de pendências, quadros Kanban, listas de pendências de sprints e gerenciamento de casos de teste) agora usam nosso componente de filtragem comum e consistente (Figura 4). Além de aplicar um filtro de palavras-chave nas colunas exibidas e selecionar tags, você também pode filtrar tipos de item de trabalho, estados e atribuídos a, a fim de chegar rapidamente aos itens de trabalho que você está procurando.

Filtragem na consulta
(Figura 4) Filtragem em consultas

Expandir para mostrar campos vazios em um cartão Kanban

Hoje, você tem a opção de adicionar campos adicionais a um cartão e, em seguida, ocultar campos vazios(Figura 5) nas configurações da placa para remover a desordem desnecessária da placa. A desvantagem desse recurso era que, uma vez que um campo vazio estava oculto, a única maneira de atualizar o campo era abrir o formulário de item de trabalho. Com a recém-disponível opção de expansão nos cartões Kanban, agora é possível beneficiar-se de esconder campos vazios em todo o quadro, mas ainda ter acesso com um único clique para atualizar um campo específico num cartão. Basta passar o rato sobre o cartão e procurar a seta na parte inferior do cartão para atualizar o campo oculto.

Campo oculto
(Figura 5) Campo oculto no cartão Kanban

Clique na divisa para baixo na parte inferior da placa para atualizar o campo (Figura 6).

Atualizar campo oculto
(Figura 6) Atualizar campo oculto no cartão Kanban

As extensões bloqueiam o salvamento do item de trabalho

Controles personalizados, grupos e páginas de formulário de item de trabalho agora podem bloquear o salvamento de item de trabalho para validar dados e garantir que o usuário preencha todas as informações necessárias antes de salvar o formulário de item de trabalho.

Adicionar Planos de Entrega diretamente

Novas ideias de recursos podem chegar a qualquer momento, por isso facilitamos a adição de novos recursos diretamente aos seus Planos de Entrega(Figura 7). Basta clicar no botão Novo item disponível ao focalizar, inserir um nome e pressionar enter. Um novo recurso é criado com o caminho da área e o caminho de iteração que você esperaria.

Planos de entrega adicionais em linha
(Figura 7) Planos de entrega adicionais em linha

Controle de versão

Garfos

O TFS 2018 adiciona suporte para forks Git (Figura 8). Uma bifurcação é uma cópia de um repositório feita no servidor. Usando forks, você pode permitir que uma ampla gama de pessoas contribua para seu repositório sem dar-lhes acesso direto de confirmação. Em vez disso, eles comprometem seu trabalho com sua própria bifurcação do repositório. Isso lhe dá a oportunidade de revisar suas alterações em uma solicitação pull antes de aceitar essas alterações no repositório central.

Garfos Git
(Figura 8) Garfos Git

GVFS

O Git Virtual File System (GVFS) agora é suportado. O GVFS permite que os repositórios Git sejam dimensionados para milhões de arquivos, virtualizando e otimizando como o Git opera no sistema de arquivos.

Criar uma pasta em um repositório usando a Web

Agora você pode criar pastas através da web em seus repositórios Git e TFVC (Figura 9). Isso substitui a extensão Gerenciamento de pastas, que agora passará pelo processo de descontinuação.

Para criar uma pasta, clique em Nova > Pasta na barra de comandos ou no menu de contexto:

Nova opção de pasta
(Figura 9) Nova opção de pasta

Para TFVC, você especificará um nome de pasta e, em seguida, fará check-in. Para o Git, como pastas vazias não são permitidas, você também terá que especificar um nome de arquivo, opcionalmente editar o arquivo e, em seguida, confirmá-lo.

Além disso, para o Git, a caixa de diálogo Novo ficheiro(Figura 10) foi aprimorada para aceitar barras e criar subpastas.

Caixa de diálogo Novo arquivo
(Figura 10) Caixa de diálogo Novo arquivo

Minimapa do arquivo

Agora você pode visualizar um minimapa de um arquivo enquanto visualiza ou edita para fornecer uma visão geral rápida do código (Figura 11). Para ativar o minimapa, abra a Paleta de Comandos (F1 ou clique com o botão direito do mouse) e selecione Alternar Minimapa.

Minimapa do arquivo
(Figura 11) Minimapa do arquivo

Correspondência entre parênteses

Ao editar ou visualizar um arquivo, agora há diretrizes no lado esquerdo para facilitar a correspondência entre colchetes (Figura 12).

Correspondência entre parênteses
(Figura 12) Correspondência entre parênteses

Alternar espaço em branco

Agora você pode ativar e desativar o espaço em branco ao visualizar ou editar um arquivo. Ainda estamos a desenvolver uma funcionalidade que lhe permitirá alternar o espaço em branco ao comparar. Para visualizar o espaço em branco (Figura 13), abra a Paleta de comandos (F1 ou clique com o botão direito do mouse) e selecione Alternar espaço em branco, que permite diferenciar espaços e guias.

Alternar espaço em branco
(Figura 13) Alternar espaço em branco

Configuração para desativar a edição web para repositórios TFVC

As equipes que usam TFVC geralmente usam políticas de check-in no Visual Studio para garantir a qualidade do código. No entanto, como as políticas de check-in são impostas ao cliente, o código editado na Web não está sujeito às mesmas políticas.

Várias pessoas pediram uma maneira de desativar a edição web para proteger contra alterações que ignoram as políticas de registo. Disponibilizámos uma forma de desativar a edição web (adicionar, excluir, renomear e editar) para TFVC no âmbito de projeto/repositório.

Para não permitir a edição na Web na página Arquivos, vá para Configurações e Controle de Versão(Figura 14). Clique no repositório TFVC na árvore, navegue até o separador ‘Opções’ e desative Ativar a edição web para este repositório TFVC. Por padrão, a edição na Web está habilitada.

Observação

A edição do LEIA-ME a partir da página Visão Geral do Projeto não é afetada.

Desativar a edição da Web
(Figura 14) Desativar a edição da Web

Se você tentar uma edição da Web em um projeto com a edição da Web desabilitada, será notificado de que a edição da Web não é permitida (Figura 15).

Diálogo de Edição da Web Não Permitida
(Figura 15) Caixa de diálogo de edição web não permitida

Identificar ramificações obsoletas

Manter seu repositório limpo excluindo ramificações que você não precisa mais permite que as equipes encontrem ramificações importantes e definam favoritos com a granularidade certa. No entanto, se você tiver muitas ramificações em seu repositório, pode ser difícil descobrir quais estão inativas e podem ser excluídas. Agora facilitamos a identificação de ramos "obsoletos" (ramos que apontam para compromissos com mais de 3 meses). Para ver suas ramificações obsoletas, vá para o pivô Stale na página Branches(Figura 16).

Ramos estagnados
(Figura 16) Ramos estagnados

Procurar uma ramificação excluída e recriá-la

Quando você exclui acidentalmente uma ramificação do servidor, pode ser difícil descobrir o que aconteceu com ela. Agora você pode pesquisar por uma ramificação excluída, ver quem a excluiu e quando, e recriá-la se desejar.

Para procurar uma ramificação apagada, digite o nome completo da ramificação na caixa de pesquisa da ramificação. Ele retornará todas as ramificações existentes que corresponderem a esse texto. Você também verá uma opção para procurar uma correspondência exata na lista de ramificações excluídas. Clique no link para pesquisar ramificações excluídas (Figura 17).

Pesquisar ramificações excluídas
(Figura 17) Pesquisar ramificações excluídas

Se uma correspondência for encontrada, você verá quem a excluiu e quando. Também é possível restaurar a ramificação (Figura 18).

Restaurar ramificações excluídas
(Figura 18) Restaurar ramificações excluídas

Restaurar a ramificação irá recriá-la no commit em que esteve apontada por último. No entanto, ele não restaurará políticas e permissões.

Pesquisar um commit em ramificações que começam com um prefixo

Se você tiver uma estrutura de ramificações em um formato hierárquico em que todas as ramificações são prefixadas com um texto, esse recurso ajudará você a encontrar uma confirmação em todas as ramificações começando com esse texto de prefixo. Por exemplo, se você quiser ver se uma confirmação chegou a todas as ramificações prefixadas com "dev", basta digitar "dev" na caixa de pesquisa e selecionar Pesquisar em ramificações começando com "dev"(Figura 19).

Procurar uma confirmação
(Figura 19) Procurar uma confirmação

Texto explicativo de pull request mais avançado na página de detalhes do commit

O texto explicativo da solicitação pull na página de detalhes da confirmação mostra informações mais relevantes para um melhor diagnóstico (Figura 20). Agora também mostramos a primeira solicitação pull que introduziu a confirmação em qualquer ramificação e a solicitação pull associada à ramificação padrão no texto explicativo.

Texto explicativo de solicitação pull
(Figura 20) Texto explicativo de solicitação pull

Vista de árvore de filtro em código

Agora você não precisa percorrer todos os arquivos que um commit pode ter modificado para chegar apenas aos seus arquivos. A visualização em árvore na página de detalhes de confirmação, solicitações pull, detalhes do conjunto de prateleiras e detalhes do conjunto de alterações agora oferece suporte à filtragem de arquivos e pastas. Este é um filtro inteligente que mostra arquivos filho de uma pasta quando você filtra por nome de pasta e mostra uma exibição em árvore recolhida de um arquivo para exibir a hierarquia de arquivos quando você filtra por nome de arquivo.

Encontre um filtro de arquivo ou pasta na árvore de confirmação (Figura 21) e (Figura 22):

Localizar um ficheiro ou pasta
(Figura 21) Localizar um ficheiro ou pasta
Vista filtrada
(Figura 22) Vista filtrada na árvore de confirmação

A página de atualizações de filiais agora é Pushes

A página Branch Updates tem um enorme valor. No entanto, estava escondido como um pivô sob o centro de História . Agora, a página de atualizações de ramificação está visível como um hub chamado Pushes(Figura 23) em Código, ao lado de Commits, Branches, Tags e Pull Requests. O novo URL para a página de envio é: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/pushes. Os URLs antigos continuarão a funcionar.

Desloca página
(Figura 23) Empurra página

Ao mesmo tempo, o hub History agora é renomeado para Commits(Figura 24), uma vez que o hub mostra apenas commits. Recebemos comentários de que as pessoas tinham dificuldades para resolver problemas relacionados a commits, porque a visualização da lista de commits mostrava o tempo detalhado apenas ao passar o cursor. Agora, a exibição da lista de confirmação em sua instância mostrará data e hora no formato dd/mm/aa hh:mm. O novo URL para a página de confirmações é: \<tfsserverurl\>/\<projectname\>/_git/\<reponame\>/commits. Os URLs antigos continuarão a funcionar.

Página de confirmações
(Figura 24) Página de confirmações

Manter o nome do arquivo ao mover de Arquivos para Confirmações

Ouvimos comentários de pessoas de que, quando filtram o diretório para um arquivo específico no pivô Arquivos do hub Código e depois passam para o pivô Histórico , o nome do arquivo não persiste se a confirmação tiver alterado mais de 1.000 arquivos. Isso fez com que as pessoas precisassem carregar mais arquivos e filtrar conteúdo para encontrar o arquivo, o que afetou a produtividade. Os desenvolvedores normalmente trabalham no mesmo diretório e querem persistir nos diretórios em que trabalham à medida que rastreiam as alterações. Agora, persistimos o nome do ficheiro enquanto se desloca entre os pivôs do hub de código, independentemente do número de ficheiros alterados num commit. Isso significa que você não precisa clicar em Carregar Mais para encontrar o arquivo desejado.

Ver etiquetas do Git

Você pode visualizar todas as tags em seu repositório na página Tags(Figura 25). Se você gerenciar todas as suas tags como lançamentos, um usuário poderá visitar a página de tags para ter uma visão panorâmica de todos os lançamentos de produtos.

Ver tags do Git
(Figura 25) Ver etiquetas Git

Você pode facilmente diferenciar entre uma etiqueta ligeira e uma anotada. As tags anotadas mostram o tagger e a data de criação ao lado da confirmação associada, enquanto as tags leves mostram apenas as informações de confirmação.

Excluir tags Git

Pode haver momentos em que você queira excluir uma tag do seu repositório remoto. Pode ser devido a um erro de digitação no nome da tag, ou tu possas ter etiquetado o commit errado. Você pode excluir facilmente tags da interface do usuário da Web clicando no menu de contexto de uma tag na página Tags e selecionando Delete tag(Figura 26).

Advertência

A exclusão de tags em repositórios remotos deve ser exercida com cuidado.

Eliminar tags git
(Figura 26) Excluir tags Git

Filtrando tags Git

Para repositórios antigos, o número de tags pode crescer significativamente com o tempo; Também pode haver repositórios com tags criadas em hierarquias, o que pode dificultar a localização de tags.

Se você não conseguir encontrar a tag que estava procurando na página Tags, basta pesquisar o nome da tag usando o filtro na parte superior da página Tags(Figura 27).

Filtrar Git tags
(Figura 27) Filtrar tags Git

Segurança de tags Git

Agora você pode conceder permissões granulares aos usuários do repositório para gerenciar tags. Você pode dar aos usuários a permissão para excluir tags ou gerenciar tags dessa interface (Figura 28).

Segurança da tag Git
(Figura 28) Segurança da tag Git

Sugestão

Leia mais sobre tags Git no blog Microsoft DevOps.

Concluir itens de trabalho automaticamente ao concluir solicitações pull

Se você estiver vinculando itens de trabalho às suas solicitações pull, manter tudo atualizado ficou mais simples. Agora, ao concluir uma RP, você terá a opção de concluir automaticamente os itens de trabalho vinculados depois que a RP tiver sido mesclada com êxito (Figura 29). Se estiver a usar políticas e definir solicitações pull para conclusão automática, verá a mesma opção. Não é mais necessário lembrar-se de verificar novamente os itens de trabalho para atualizar o estado quando o pull request estiver concluído. Isto é feito para si automaticamente.

Concluir itens de trabalho vinculados
(Figura 29) Concluir itens de trabalho vinculados

Redefinir votos no push/nova iteração

As equipas que escolhem um fluxo de trabalho de aprovação mais rigoroso nos PRs agora podem optar por redefinir os votos quando novas alterações são introduzidas (Figura 30). A nova configuração é uma opção da política para Exigir um número mínimo de revisores.

Redefinir a configuração de votos
(Figura 30) Redefinir a configuração de votos

Quando definida, essa opção fará com que todos os votos de todos os revisores sejam redefinidos sempre que a ramificação de origem do PR for atualizada. A linha do tempo PR registrará uma entrada sempre que os votos forem redefinidos como resultado dessa opção (Figura 31).

Redefinir votos na linha do tempo
(Figura 31) Redefinir votos na linha do tempo

Filtrar árvore de solicitação de pull por nome de arquivo

Encontrar um arquivo específico em uma solicitação pull é mais fácil do que nunca. A nova caixa de filtro na visualização Arquivos permite que os usuários filtrem a lista de arquivos na visualização em árvore (Figura 32).

Localizar arquivo ou pasta na solicitação pull
(Figura 32) Localizar arquivo ou pasta na solicitação pull

O filtro corresponde a qualquer parte do caminho dos arquivos na solicitação pull, para que você possa pesquisar por nomes de pastas, caminhos parciais, nomes de arquivos ou extensões (Figura 33).

Encontrar resultados
(Figura 33) Encontrar resultados

Mais opções de filtragem de comentários de Pull Request

Os comentários na visão geral da solicitação pull e na visualização de arquivos agora têm as mesmas opções (Figura 34). Também pode filtrar para ver apenas as discussões em que participou.

Filtragem de comentários PR
(Figura 34) Filtragem de comentários PR

Ver diferença original para comentários de código nos detalhes do pull request

Às vezes, é difícil fazer sentido com um comentário PR depois que o código ao qual ele está se referindo foi alterado (muitas vezes, quando uma alteração solicitada foi feita) (Figura 35).

Ver diferença original
(Figura 35) Ver comparação original

Quando isso acontecer, você verá um selo com um número de atualização no qual você pode clicar para ver como era o código no momento em que o comentário foi originalmente criado (Figura 36).

Selo de atualização
(Figura 36) Selo de atualização

Comentários de solicitação de pull dobráveis

A revisão do código é uma parte crítica da experiência de solicitação pull, por isso adicionamos novos recursos para tornar mais fácil para os revisores se concentrarem no código. Os revisores de código podem facilmente ocultar comentários para tirá-los do caminho ao revisar o novo código pela primeira vez (Figura 37).

Ocultar comentários
(Figura 37) Ocultar comentários

Ocultar comentários (Figura 38) os oculta da visualização em árvore e recolhe os threads de comentários na exibição de arquivo:

Comentários recolhidos
(Figura 38) Comentários recolhidos

Quando os comentários são recolhidos, eles podem ser expandidos facilmente ao clicar no ícone na margem e, em seguida, recolhidos novamente com outro clique. As dicas de ferramentas(Figura 39) facilitam a visualização de um comentário sem ver o thread inteiro.

Dica de ferramenta para comentário fechado
(Figura 39) Tooltip de comentário colapsado

Listas de tarefas nas descrições e nos comentários de pedidos pull

Ao preparar um RP ou comentar, às vezes você tem uma pequena lista de coisas que deseja acompanhar, mas depois acaba editando o texto ou adicionando vários comentários. Listas de tarefas leves são uma ótima maneira de acompanhar o progresso em uma lista de tarefas pendentes como criador ou revisor de RP na descrição ou em um único comentário consolidado. Clique na barra de ferramentas Markdown para começar ou aplicar o formato ao texto selecionado (Figura 40).

Barra de ferramentas da lista de tarefas
(Figura 40) Barra de ferramentas da lista de tarefas

Depois de adicionar uma lista de tarefas (Figura 41), você pode simplesmente marcar as caixas para marcar os itens como concluídos. Estes são expressos e armazenados no comentário como [ ] e [x] no Markdown. Consulte as diretrizes de Markdown para obter mais informações.

Lista de tarefas
(Figura 41) Lista de tarefas

Capacidade de "Gosto" em comentários em pedidos de pull

Mostre seu suporte para um comentário PR com um único clique no botão "like" (Figura 42). Você pode ver a lista de todas as pessoas que curtiram o comentário passando o mouse sobre o botão.

Como os comentários de pull request
(Figura 42) À semelhança dos comentários em pull requests

Melhoria no fluxo de trabalho ao aprovar com sugestões

Usar a opção de preenchimento automático(Figura 43) com solicitações pull é uma ótima maneira de melhorar sua produtividade, mas não deve interromper discussões ativas com revisores de código. Para facilitar melhor essas discussões, a votação Aprovar com sugestões agora solicitará quando uma solicitação pull for definida para ser concluída automaticamente. O usuário terá a opção de cancelar o preenchimento automático para que seus comentários possam ser lidos ou manter o conjunto de preenchimento automático e permitir que a solicitação pull seja concluída automaticamente quando todas as políticas forem cumpridas.

Cancelar caixa de diálogo de preenchimento automático
(Figura 43) Cancelar caixa de diálogo de preenchimento automático

Suporte de filtragem de caminho para notificações Git

Em vez de receber notificações para todas as pastas em um repositório, agora você pode optar por ser notificado quando os membros da equipe criarem solicitações pull ou push code apenas nas pastas que lhe interessam. Ao criar assinaturas personalizadas de notificação por e-mail de solicitações Git push ou Git pull, você verá uma nova opção para filtrar essas notificações por caminho de pasta (Figura 44).

Filtragem de caminho para notificações
(Figura 44) Filtragem de caminho para notificações

Modelos de e-mail atualizados para fluxos de trabalho de solicitação pull

Os alertas de e-mail de solicitação pull foram atualizados para torná-los claros, concisos e acionáveis (Figura 45). A linha de assunto agora começa com o título PR e informações secundárias, como o nome do repositório, e o ID é adiado para o final. O nome do autor foi adicionado ao assunto para facilitar a aplicação de regras e filtros com base na pessoa que criou o PR.

O corpo dos e-mails de alerta tem um modelo atualizado que primeiro resume por que o alerta foi enviado, seguido pelos metadados críticos (título, nomes de filiais e descrição) e um botão principal de chamada para ação. Detalhes adicionais, como revisores, arquivos e confirmações, são incluídos mais abaixo no e-mail.

Modelo de e-mail melhorado
(Figura 45) Modelo de e-mail melhorado

Para a maioria dos alertas, a chamada para ação (Figura 46) é visualizar a solicitação pull na Web. No entanto, quando você for notificado sobre um comentário específico, a chamada para ação será vinculada diretamente a esse comentário para que você possa encontrar facilmente o código e a conversa anterior para contextualização.

Apelo à ação por e-mail
(Figura 46) Apelo à ação por e-mail

Modelos de e-mail atualizados para notificações push

As notificações por push foram atualizadas para corresponder aos novos modelos de e-mail otimizados para serem claros, concisos e acionáveis (Figura 47). A linha de assunto ajuda você a distinguir claramente os e-mails push, identificar a ramificação, o repositório e o autor e resumir o número de confirmações incluídas no push. Essas alterações também facilitam a criação de regras e filtros para ajudar a gerenciar essas notificações por e-mail.

O corpo do e-mail é consistente com outros e-mails, enfatizando por que o e-mail foi enviado, quem iniciou a ação e exatamente o que aconteceu. Específicos para alertas push, os detalhes sobre o repositório, ramificação, arquivos e confirmações são incluídos para ajudar a informar os destinatários sobre o escopo das alterações. A principal ação de chamada para alertas push é Ver Push, que abrirá a visualização da notificação para a notificação específica que gerou o alerta.

Wiki

Cada projeto agora suporta seu próprio Wiki (Figura 48). Agora você pode escrever convenientemente páginas que ajudam os membros da sua equipe a entender, usar e contribuir para o seu projeto.

Página Wiki
(Figura 48) Página Wiki PR

Algumas das principais características do novo Wiki incluem:

  • Experiência de edição simplificada usando sintaxe de markdown.
  • A nova página permite especificar um título e adicionar conteúdo. (Figura 49)
Título Wiki
(Figura 49) Título Wiki PR
  • Suporte para tags HTML em markdown (Figura 50).
Tags HTML de Wiki
(Figura 50) Wiki PR tags HTML
  • Redimensione convenientemente as imagens na pasta markdown (Figura 51).
Redimensionamento de imagem
(Figura 51) Redimensionamento de imagem PR
  • Poderoso painel de gestão de páginas que permite reordenar, alterar a hierarquia e gerir páginas.
  • Capacidade de filtrar páginas por título para Wikis grandes (Figura 52).
Menu Wiki
(Figura 52) Menu Wiki PR

Sugestão

Saiba mais sobre como começar a usar o Wiki.

À medida que você usa mais o Wiki, há uma chance de salvar alterações não intencionais. Agora você pode reverter uma revisão para uma página Wiki indo para os detalhes da revisão e clicando no botão Reverter(Figura 53).

Botão de reversão Wiki
(Figura 53) PR Wiki botão reverter

Observamos um padrão durante a criação do Wiki em que um índice em uma página Wiki incluía links inexistentes (Figura 54). Os usuários clicariam nesses links na tentativa de criar uma página real. Anteriormente, lidamos com esse cenário dando um aviso sugerindo que o link estava quebrado ou que a página não existia. Agora, estamos lidando com isso como um cenário mainstream para o Wiki, permitindo que você crie páginas em vez disso.

Criar página wiki
(Figura 54) PR Criar página Wiki

Ligação direta para páginas Wiki

Wiki agora suporta seções de links profundos dentro de uma página e entre páginas, o que é extremamente útil para criar um sumário. Você pode fazer referência a um título na mesma página ou em outra página usando a seguinte sintaxe:

  • Mesma página: [text to display](#section-name)
  • Outra página: [text to display](/page-name#section-name)

A extensão Wiki no Marketplace está agora obsoleta. Se você é um usuário de extensão Wiki existente, então você pode migrar suas páginas Wiki para o novo Wiki usando esta ferramenta de migração. Saiba mais sobre como migrar suas páginas Wiki existentes para o novo Wiki.

Gestão de Pacotes

Atualizações da experiência de gerenciamento de pacotes

As URLs de pacote agora funcionam com o nome e a versão do pacote, em vez de usar GUIDs. Isso facilita a criação manual de URLs de pacotes (Figura 55). O formato é: \<tfsserverurl\>/\<project|team\>/_packaging?feed=\<feed\>&package=\<package\>&version=\<version\>&protocolType=\<NuGet|Npm|Maven\>&_a=package.

URL do pacote
(Figura 55) URL do pacote PR

Agora você pode ocultar versões de pacotes excluídos (Figura 56) de todos os usuários de feed (não há mais pacotes tachados!).

Ocultar pacotes excluídos
(Figura 56) Ocultar pacotes excluídos

Qualquer ação que você possa executar na página de detalhes do pacote agora pode ser executada no menu de contexto na lista de pacotes.

A lista de pacotes contém uma nova coluna Último envio(Figura 57) com datas humanizadas, permitindo encontrar facilmente pacotes atualizados recentemente.

Última coluna empurrada
(Figura 57) Última coluna empurrada

Pacotes Maven

Lançamos o suporte para hospedar artefatos Maven no TFS 2018 (Figura 58). Os artefatos Maven permitem que os desenvolvedores Java compartilhem código e componentes perfeitamente. Confira nosso guia de introdução para saber como compartilhar artefatos do Maven usando o Gerenciamento de Pacotes.

Pacotes Maven
(Figura 58) Pacotes Maven

Nova tarefa unificada do NuGet

Combinamos a tarefa NuGet Restore, NuGet Packager e NuGet Publisher em uma tarefa de compilação unificada do NuGet para alinhar melhor com o resto da biblioteca de tarefas de compilação; a nova tarefa usa o NuGet 4.0.0 por padrão. Assim, substituímos as tarefas antigas e recomendamos passar para a nova tarefa do NuGet à medida que você tiver tempo. Essa alteração coincide com uma onda de melhorias descritas abaixo que você só poderá acessar usando a tarefa combinada.

Como parte desse trabalho, também lançamos uma nova tarefa do NuGet Tool Installer que controla a versão do NuGet disponível no PATH e usada pela nova tarefa NuGet. Portanto, para usar uma versão mais recente do NuGet, basta adicionar uma tarefa do NuGet Tool Installer no início da sua compilação (Figura 59).

Tarefa Nuget
(Figura 59) Tarefa NuGet

Opção "Permitir que duplicatas sejam ignoradas" do NuGet

Ouvimos de muitos clientes do NuGet que eles geram um conjunto de pacotes, apenas alguns dos quais podem ter atualizações (e, portanto, números de versão atualizados). A tarefa de compilação do NuGet tem uma nova opção Permitir que duplicatas sejam ignoradas que permite que a tarefa continue se tentar enviar pacotes por push para um feed VSTS/TFS onde a versão já está em uso.

Atualizações de tarefas de compilação do npm

Se você estiver criando seu projeto npm no Windows, Linux ou Mac, a nova tarefa de compilação do NPM funciona perfeitamente. Também reorganizamos a tarefa para facilitar a instalação do npm e a publicação do npm . Para instalar e publicar, simplificamos a aquisição de credenciais para que as credenciais dos registros listados no arquivo .npmrc do seu projeto sejam armazenadas com segurança em um endpoint de serviço. Como alternativa, se você estiver usando um feed VSTS/TFS, temos um seletor que permite selecionar um feed e, em seguida, gera um .npmrc com as credenciais necessárias que são usadas pelo agente de compilação.

O Maven agora suporta feeds autenticados

Ao contrário do NuGet e do npm, a tarefa de compilação do Maven não funcionava anteriormente com feeds autenticados. Atualizamos a tarefa Maven para que você possa trabalhar facilmente com feeds VSTS/TFS (Figura 60).

tarefa do dotnet
(Figura 60) tarefa dotnet

A tarefa dotnet suporta feeds autenticados, projetos web

A próxima versão principal da tarefa dotnet (2.x) aborda muitos dos seus pedidos de feedback e corrige um conjunto de bugs que rastreamos há algum tempo. Isto inclui o seguinte:

  1. Primeiro, o dotnet agora oferece suporte a fontes de pacotes autenticados, como o Gerenciamento de Pacotes, portanto, você não precisa mais usar a tarefa NuGet para restaurar pacotes de fontes de pacotes privadas.
  2. O comportamento do campo Caminho para o(s) projeto(s) foi alterado na versão 2.0 da tarefa. Em versões anteriores da tarefa, se o(s) ficheiro(s) de projeto correspondente(s) ao padrão especificado não fossem encontrados, a tarefa costumava registar um aviso e, posteriormente, ter êxito. Nesses cenários, às vezes pode ser difícil entender por que a compilação foi bem-sucedida, mas as dependências não foram restauradas. Agora, a tarefa falhará se o(s) arquivo(s) de projeto correspondente(s) ao padrão especificado não forem encontrados. Isso está de acordo com o comportamento de outras tarefas e é fácil de entender e usar.
  3. Em versões anteriores do comando publish da tarefa, a tarefa modificava o caminho de saída colocando todos os arquivos em uma pasta que tinha o nome do arquivo de projeto, mesmo quando você passava por um caminho de saída explícito. Isso dificulta o encadeamento de comandos. Agora você tem controle sobre o arquivo de caminho de saída.

Também lançamos uma nova tarefa dotnet Tool Installer que controla a versão do dotnet disponível no PATH e usada pela nova tarefa dotnet. Então, para usar uma versão mais recente do dotnet, basta adicionar uma tarefa dotnet Tool Installer no início da sua compilação.

Trabalhar fora da sua conta/coleção

Agora é mais fácil trabalhar com feeds (Figura 61) fora do servidor TFS ou da conta VSTS, sejam eles feeds de Gerenciamento de Pacotes em outra conta VSTS ou servidor TFS ou feeds que não sejam de Gerenciamento de Pacotes, como NuGet.org/npmjs.com, Artifactory ou MyGet (Figura 60). Os tipos dedicados de Ponto de Extremidade de Serviço para NuGet e npm facilitam a inserção das credenciais corretas e permitem que as tarefas de compilação funcionem perfeitamente em operações de download e envio de pacotes.

Feeds a utilizar
(Figura 61) Alimentação a utilizar

Seletor de feeds para VSTS/TFS

Recomendamos sempre fazer check-in de um arquivo de configuração (por exemplo, NuGet.Config, .npmrc, etc.) para que seu repositório de origem tenha um registro de onde seus pacotes vieram. No entanto, ouvimos um conjunto de cenários em que isto não é ideal, por isso adicionámos uma nova opção Utilizar pacotes deste feed VSTS/TFS que permite selecionar um feed e gerar automaticamente um ficheiro de configuração utilizado para esse passo de construção (Figura 62).

Seletor de rações
(Figura 62) Seletor de rações

Compilação e lançamento

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. Se você não estiver pronto para migrar e precisar continuar usando compilações XAML, atualize para o TFS 2018 Update 2.

Quando você atualiza para o TFS 2018 RTW ou Atualização 1:

  • Se você tiver quaisquer dados de compilação XAML em sua coleção de projeto de equipe, receberá um aviso sobre a remoção de recursos de compilação XAML.

  • Você pode exibir compilações XAML concluídas, mas não poderá enfileirar novas.

  • Não há nenhuma nova versão do controlador ou agente de compilação XAML no TFS 2018.

Quando você atualiza para a Atualização 2 do TFS 2018:

  • Se tiveres quaisquer dados de compilação XAML na tua coleção de projetos de equipa, receberás um aviso sobre a descontinuação dos recursos de compilação XAML.

  • Você precisa usar o Visual Studio ou o Team Explorer 2017 para editar definições de compilação XAML ou para 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.

Sugestão

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.

Exportar e importar definições de compilação

As definições de compilação são implementadas internamente como arquivos .json, para que você possa ver detalhes sobre as alterações no histórico do arquivo. Você já pode clonar e criar modelos a partir de suas definições de compilação, mas muitos usuários quiseram tirar uma cópia de sua lógica de compilação de CI e reutilizá-la em outro projeto de equipe. Esta foi uma das dez melhores solicitações no UserVoice.

Temos o prazer de anunciar que isso agora é possível (Figura 63) e (Figura 64)!

Exportar definição de compilação
(Figura 63) Exportar definição de compilação
Importar definição de compilação
(Figura 64) Importar definição de compilação

Extensões com modelos de compilação

Os modelos de compilação permitem criar uma linha de base para que os usuários comecem a definir seu processo de compilação. Hoje enviámos vários deles numa caixa e, enquanto se podia carregar novos na sua conta, nunca foi possível para os autores de extensões incluir novos modelos numa extensão. Agora você pode incluir modelos de compilação em suas extensões. Por exemplo:

{  "id": "Template1", 
   "type": "ms.vss-build.template", 
   "targets": [ "ms.vss-build.templates" ], 
   "properties": { "name": "Template1" } }

Para obter o exemplo completo, consulte https://github.com/Microsoft/vsts-extension-samples/tree/master/fabrikam-build-extension.

Sugestão

Você pode usar esse recurso para oferecer e compartilhar o mesmo modelo personalizado em todos os seus projetos de equipe.

Descontinuar uma tarefa numa extensão

Agora você pode descontinuar uma tarefa na sua extensão. Para que funcione, você deve adicionar a seguinte variável à versão mais recente da sua tarefa:

"deprecated": true

Quando o utilizador procura tarefas preteridas (Figura 65), movemos essas tarefas para o final e agrupamo-las numa secção recolhível que está recolhida por padrão. Se uma definição já estiver usando uma tarefa preterida, mostraremos um selo de tarefa preterido para incentivar os usuários a mudar para a substituição.

Emblema de tarefa obsoleto
(Figura 65) Emblema de tarefa preterido

Você pode ajudar os usuários a aprender sobre a tarefa de substituição mencionando-a na descrição da tarefa (Figura 66). Em seguida, a descrição aponta os usuários que usam a tarefa na direção certa do catálogo de tarefas e das definições de compilação/liberação existentes.

Descrição da tarefa preterida
(Figura 66) Descrição da tarefa preterida

Permitir que as seções de construção contribuídas controlem a visibilidade da seção

Anteriormente, se você estivesse usando uma extensão que tivesse tarefas de compilação e seções de resumo de compilação, você veria a seção de resumo de compilação mesmo se não estivesse usando a tarefa de compilação nessa compilação. Agora, você pode optar por ocultar ou mostrar essa seção na página de resumo da compilação adicionando a seguinte linha no código da extensão e definindo o valor como true ou false:

VSS.getConfiguration().setSectionVisibility("$(publisherId).$(extensionId).$(sectionId)", false);

Exiba o exemplo incluído no repositório Microsoft vsts-extension-samples.

Suporte a grupos variáveis

Grupos de variáveis estavam disponíveis para uso em definições de versão, e agora eles estão prontos para serem usados em definições de compilação também. Saiba mais sobre como criar um grupo de variáveis. Isso foi desenvolvido e priorizado com base em sugestões relacionadas para variáveis de compilação/liberação no nível do projeto e grupos de variáveis em definições de compilação.

Trabalhar com ficheiros seguros, como certificados Apple

Adicionamos uma biblioteca de arquivos seguros de uso geral (Figura 67).

Biblioteca de arquivos segura
(Figura 67) Biblioteca de arquivos segura

Use a biblioteca de arquivos seguros para armazenar arquivos como certificados de assinatura, perfis de provisionamento da Apple, arquivos do Android Keystore e chaves SSH no servidor sem precisar confirmá-los no repositório de origem.

O conteúdo dos ficheiros seguros é encriptado e só pode ser utilizado durante os processos de construção ou lançamento, referenciando-os a partir de uma tarefa. Os arquivos seguros estão disponíveis em várias definições de compilação e versão no projeto de equipe com base nas configurações de segurança. Os arquivos seguros seguem o modelo de segurança da Biblioteca.

Também adicionamos algumas tarefas da Apple que aproveitam esse novo recurso:

Pausar definições de compilação

Agora você pode pausar ou desabilitar definições de compilação. Se você planeja fazer alterações em sua definição de compilação e deseja evitar enfileirar novas compilações até terminar, simplesmente desative a definição de compilação. Da mesma forma, se você planeja atualizar máquinas de agente, pode optar por pausar uma definição de compilação, o que permite que o VSTS ainda aceite novas solicitações de compilação, mas as mantenha na fila sem execução até que você retome a definição.

Suporte para a validação de entradas de tarefas

Digitar os parâmetros em tarefas de definição de compilação às vezes pode ser propenso a erros. Com a validação de entrada de tarefas, os autores de tarefas podem garantir que os valores apropriados sejam especificados. As expressões de validação seguem a sintaxe de expressão familiar usada para condições de tarefa e podem usar qualquer uma das funções suportadas além das funções gerais suportadas pelas condições de tarefa, incluindo URL, IPV4, e-mail, intervalo de números, sha1, comprimento ou correspondência.

Sugestão

Leia mais sobre as metas e o uso na página de repositório vsts-tasks.

Editor de definição de nova versão

Continuando em nossa jornada de atualização das experiências de compilação e lançamento, reimaginamos o editor de definição de versão para fornecer uma experiência mais intuitiva, corrigir alguns pontos problemáticos e adicionar novos recursos. Um dos recursos mais poderosos do novo editor é sua capacidade de ajudá-lo a visualizar como as implantações em seus ambientes progrediriam. Além disso, as aprovações, as propriedades do ambiente e as configurações de implantação agora estão no contexto e são facilmente configuráveis.

Visualização do fluxo de processamento

O pipeline (Figura 68) no editor fornece uma visão gráfica de como as implantações progridem em uma versão. Os artefatos são consumidos pela liberação e implantados nos ambientes. O layout e a vinculação dos ambientes refletem as configurações de gatilho definidas para cada ambiente.

Gasoduto
(Figura 68) Pipeline de liberação
Interface de configuração de contexto

Artefatos, gatilhos de versão, aprovações pré e pós-implantação, propriedades de ambiente e configurações de implantação agora estão no contexto e são facilmente configuráveis (Figura 69).

Configuração de liberação
(Figura 69) Configuração de liberação
Introdução aos modelos de implantação

Todos os modelos de implantação integrados são equipados com parâmetros de processo que simplificam o processo para os usuários começarem, especificando os parâmetros mais importantes sem a necessidade de se aprofundar nas tarefas (Figura 70).

Modelos de implantação
(Figura 70) Modelos de implantação
Gerenciamento simplificado de variáveis de liberação e ambiente

Use a vista de lista para adicionar rapidamente variáveis de lançamento ou de ambiente e a vista de grelha para comparar e editar variáveis nos diferentes âmbitos simultaneamente. Além disso, você pode usar o filtro e a pesquisa por palavra-chave para gerenciar o conjunto de variáveis com as quais trabalhar em ambas as exibições.

Editor de tarefas e fases melhorado

Todos os aprimoramentos no novo editor de definição de compilação também estão disponíveis no editor de definição de versão (Figura 72). Você pode pesquisar tarefas e adicioná-las usando o botão Adicionar ou arrastar/soltar. Você pode reordenar ou clonar tarefas usando arrastar/soltar.

Editor de tarefas
(Figura 72) Editor de tarefas
Grupos de variáveis, guias Retenção e Opções

Agora você pode vincular/desvincular grupos de variáveis (Figura 73), definir a política de retenção para ambientes individuais e modificar as configurações de nível de definição de versão, como o formato do número de versão, na guia Opções . Você também pode salvar um ambiente como um modelo de implantação, definir permissões no nível do ambiente e reordenar fases na guia Tarefas .

Grupos de variáveis
(Figura 73) Grupos de variáveis

Use operações no nível do ambiente para salvar como modelo e definir segurança (Figura 74).

Menu Ambiente
(Figura 74) Menu Ambiente

Implantação de máquina virtual usando grupos de implantação

O Release Management agora oferece suporte à implantação robusta pronta para uso de várias máquinas. Agora você pode orquestrar implantações em várias máquinas e executar atualizações contínuas, garantindo alta disponibilidade do aplicativo por toda parte.

A capacidade de implantação baseada em agente depende dos mesmos agentes de compilação e implantação. No entanto, ao contrário da abordagem atual, em que você instala os agentes de compilação e implantação em um conjunto de servidores proxy em um pool de agentes e conduz implantações para servidores de destino remotos, você instala o agente em cada um dos servidores de destino diretamente e conduz implantações contínuas para esses servidores. Você pode usar o catálogo de tarefas completo em suas máquinas de destino.

Um grupo de implantação (Figura 75) é um grupo lógico de destinos (máquinas) com agentes instalados em cada um deles. Os grupos de implantação representam os seus ambientes físicos, como Dev de máquina única, QA de várias máquinas e um conjunto de máquinas para UAT/Produção. Eles também especificam o contexto de segurança para os seus ambientes físicos.

Grupos de implantação
(Figura 75) Grupos de implantação

Você pode usar isso em qualquer máquina virtual com a qual você registrar nosso agente. Também facilitamos muito o registro no Azure com suporte para uma extensão de máquina virtual do Azure que instala automaticamente o agente quando a máquina virtual gira. As marcas são herdadas automaticamente na máquina virtual do Azure quando ela é registrada.

Depois de ter um grupo de implantação, basta configurar o que deseja que executemos nesse grupo de implantação (Figura 76). Você pode controlar o que é executado em quais máquinas usando tags e controlar a velocidade ou lentidão com que a distribuição acontece.

Configurar grupos de implantação
(Figura 76) Configurar grupos de implantação

Quando a implantação é executada, os logs mostram a progressão em todo o grupo de máquinas que você está segmentando (Figura 77).

Progresso do grupo de implantação
(Figura 77) Progresso do grupo de implantação

Esse recurso agora é parte integrada do Release Management. Não são necessárias licenças adicionais.

Interface melhorada dos grupos de implantação

Continuando nossa jornada de atualização das experiências de compilação e lançamento, agora reimaginamos nossas páginas de grupos de implantação para torná-las uma experiência mais limpa e intuitiva (Figura 78). Na página de destino, você pode visualizar a integridade dos destinos no grupo de implantação. Você também pode gerenciar a segurança de um grupo de implantação individual ou definir permissões padrão entre grupos de implantação.

Interface do usuário de grupos de implantação
(Figura 78) Interface do usuário de grupos de implantação

Para um destino dentro de um grupo de implantação, você pode exibir um resumo, implantações recentes e os recursos do destino (Figura 79). Você pode definir tags no destino e controlar o que é executado em cada destino. Estamos adicionando suporte de filtro para grupos de implantação nas próximas versões.

Tags de interface do usuário de grupos de implantação
(Figura 79) Tags de interface de grupos de implantação

Referências do grupo de trabalho

Os grupos de tarefas permitem definir um conjunto de tarefas que podem ser adicionadas às definições de compilação ou versão (Figura 80). Isso é útil se você precisar usar o mesmo agrupamento de tarefas em várias compilações ou versões. Para ajudá-lo a controlar os consumidores de um grupo de tarefas, agora você tem uma visão das definições de compilação, definições de versão e grupos de tarefas que fazem referência ao seu grupo de tarefas (Figura 79).

Referências do grupo de tarefas
(Figura 80) Referências do grupo de tarefas

Quando você tenta excluir um grupo de tarefas que ainda está referenciado, avisamos e fornecemos um link para esta página.

Controle de versão do grupo de tarefas

Ao fazer alterações em grupos de tarefas, pode parecer arriscado porque a alteração é eficaz para todas as definições que usam o grupo de tarefas. Com o controle de versão do grupo de tarefas, agora você pode rascunhar e visualizar versões do grupo de tarefas enquanto ainda oferece versões estáveis para suas definições mais importantes até estar pronto para mudar. Após algum esboço e iteração, pode publicar uma versão estável e, durante a publicação, se as alterações forem disruptivas, pode optar por publicar o grupo de tarefas como pré-visualização (uma nova versão principal). Como alternativa, você pode publicá-lo diretamente como uma versão estável atualizada (Figura 81).

Quando uma nova versão principal (ou visualização) do grupo de tarefas estiver disponível, o editor de definições avisará que há uma nova versão. Se essa versão principal estiver em pré-visualização, poderá ver uma mensagem a dizer "experimente". Quando o grupo de tarefas sai da visualização, as definições que o utilizam são atualizadas automaticamente, deslizando ao longo desse canal principal (Figura 82).

Guardar como rascunho
(Figura 81) Salvar grupo de tarefas como rascunho
Publicar grupo de tarefas como pré-visualização
(Figura 82) Publicar grupo de tarefas como pré-visualização

Importação e exportação de grupos de tarefas

Embora os grupos de tarefas tenham habilitado a reutilização dentro de um projeto, sabemos que recriar um grupo de tarefas entre projetos e contas pode ser doloroso. Com a importação/exportação de grupos de tarefas (Figura 83), como fizemos para definições de versão, agora você pode exportar como um arquivo JSON e importar onde quiser. Também habilitamos grupos de tarefas aninhados, que são expandidos pela primeira vez quando são exportados.

Exportar grupo de tarefas
(Figura 83) Exportar grupo de tarefas

Suporte a várias configurações em tarefas do lado do servidor (sem agente)

Ao especificar multiplicadores variáveis para tarefas do lado do servidor (sem agente) (Figura 84), agora você pode executar o mesmo conjunto de tarefas em uma fase em várias configurações, que são executadas em paralelo.

Configuração múltipla de tarefas sem agente
(Figura 84) Configuração múltipla de tarefas sem agente

Suporte a Variáveis na tarefa de Intervenção Manual

A tarefa Intervenção Manual(Figura 85) agora suporta o uso de variáveis dentro do texto de instrução mostrado aos usuários quando a tarefa é executada, no ponto em que o usuário pode retomar a execução do processo de liberação ou rejeitá-lo. Todas as variáveis definidas e disponíveis na versão podem ser incluídas, e os valores são usados nas notificações, bem como no e-mail enviado aos usuários (Figura 86).

Tarefa de intervenção manual
(Figura 85) Tarefa de intervenção manual
Caixa de diálogo pendente de integração manual
(Figura 86) Caixa de diálogo pendente de intervenção manual

Controle as liberações para um ambiente com base na ramificação de origem

Uma definição de versão pode ser configurada para disparar uma implantação automaticamente quando uma nova versão é criada, normalmente depois que uma compilação da origem é bem-sucedida. No entanto, talvez você queira implantar apenas compilações de ramificações específicas da origem, em vez de quando qualquer compilação for bem-sucedida.

Por exemplo, você pode desejar que todas as compilações sejam implantadas em ambientes de desenvolvimento e teste, mas apenas compilações específicas implantadas em produção. Anteriormente, era necessário manter dois pipelines de liberação para essa finalidade, um para os ambientes de desenvolvimento e teste e outro para o ambiente de produção.

O Release Management agora suporta o uso de filtros de artefatos para cada ambiente. Isso significa que você pode especificar as versões que são implantadas em cada ambiente quando as condições de gatilho de implantação (como uma compilação bem-sucedida e a criação de uma nova versão) são atendidas. Na seção Trigger da caixa de diálogo Condições de implantação do ambiente (Figura 87), selecione as condições do artefato, como a ramificação de origem e as tags para compilações que acionarão uma nova implantação nesse ambiente.

Caixa de diálogo Condições de implantação
(Figura 87) Caixa de diálogo Condições de implantação

Além disso, a página Resumo da versão (Figura 88) agora contém uma dica pop-up que indica o motivo para todas as implantações "não iniciadas" estarem nesse estado e sugere como ou quando a implantação será iniciada.

Dica de resumo do lançamento
(Figura 88) Dica de resumo da versão

Gatilhos de lançamento para repositórios Git como fonte de artefatos

O Release Management agora oferece suporte à configuração de um gatilho de implantação contínua (Figura 89) para repositórios Git vinculados a uma definição de versão em qualquer um dos projetos de equipe na mesma conta. Isso permite que você acione uma versão automaticamente quando você faz uma nova confirmação no repositório. Você também pode especificar uma ramificação no repositório Git para a qual os commits acionarão um lançamento.

Gatilhos de liberação
(Figura 89) Gatilhos de liberação

Gatilhos de Lançamento: implantação contínua para alterações enviadas por push para um repositório Git

O Release Management sempre forneceu a capacidade de configurar a implantação contínua quando uma compilação é concluída. No entanto, agora você também pode configurar a implantação contínua no Git Push. Isso significa que você pode vincular repositórios GitHub e Team Foundation Git como fontes de artefato a uma definição de versão e, em seguida, acionar versões automaticamente para aplicativos como Node.JS e PHP que não são gerados a partir de uma compilação e, portanto, não precisam de uma ação de compilação para implantação contínua.

Filtros de branches em desencadeadores de ambiente

No novo editor de definição de versão, agora você pode especificar condições de artefato para um ambiente específico. Usando essas condições de artefato, você terá um controle mais granular sobre quais artefatos devem ser implantados em um ambiente específico. Por exemplo, para um ambiente de produção, pode querer garantir que as compilações geradas apenas a partir da ramificação principal são implementadas. Esse filtro precisa ser definido para todos os artefatos que você acha que devem atender a esse critério.

Você também pode adicionar vários filtros para cada artefato vinculado à definição de liberação (Figura 90). A implantação é acionada para esse ambiente somente se todas as condições do artefacto forem cumpridas com sucesso.

Filtros de ramificação
(Figura 90) Filtros de ramificação

Aprimoramentos para tarefas do lado do servidor

Fizemos dois aprimoramentos para tarefas do lado do servidor (tarefas que são executadas dentro de uma fase de servidor).

Adicionamos uma nova tarefa que invoca qualquer API REST http genérica (Figura 91) como parte do pipeline automatizado. Por exemplo, ele pode ser usado para invocar processamento específico com uma função do Azure e aguardar que ele seja concluído.

Tarefa da API REST
(Figura 91) Tarefa da API REST

Também adicionamos uma seção Opções de controle(Figura 92) a todas as tarefas do lado do servidor. O comportamento da tarefa agora inclui a definição das opções Habilitado, Continuar no erro, Sempre executar e Tempo limite .

Opções de controlo de tarefas
(Figura 92) Opções de controlo de tarefas

Selo de status de liberação no hub de código

Hoje, se você quiser saber se uma confirmação é implantada no ambiente de produção do cliente, primeiro identifique qual compilação consome a confirmação e, em seguida, verifique todos os ambientes de versão em que essa compilação é implantada. Agora, essa experiência é muito mais fácil com a integração do status da implantação no selo de status do hub de código para mostrar a lista de ambientes nos quais seu código é implantado. Para cada implantação, o estado é publicado no commit mais recente que fez parte da implantação. Se um commit for implantado em várias definições de lançamento (com vários ambientes), cada uma terá uma entrada no emblema, com o estado mostrado para cada ambiente (Figura 93). Isto melhora a rastreabilidade do commit de código para implementações.

Selo de status de liberação
(Figura 93) Selo de status de liberação

Por padrão, quando você cria uma definição de versão, o status da implantação é postado para todos os ambientes. No entanto, você pode escolher seletivamente os ambientes cujo status de implantação deve ser exibido no selo de status (por exemplo, mostrar apenas ambientes de produção) (Figura 94).

Caixa de diálogo Opções de implantação
(Figura 94) Caixa de diálogo Opções de implantação

Melhorias no menu de definição de build ao adicionar artefatos

Ao adicionar artefatos de compilação a uma definição de versão, agora você pode visualizar as definições com suas informações de organização de pasta e simplificar a escolha da definição desejada (Figura 95). Isso facilita a diferenciação do mesmo nome de definição de compilação, mas em pastas diferentes.

Adicionar artefacto
(Figura 95) Adicionar artefato

A lista de definições é filtrada com base naquelas que contêm o termo de filtro.

Reverter sua definição de versão para a versão mais antiga

Hoje, se uma definição de versão for atualizada, você não poderá reverter diretamente para uma versão anterior. A única maneira é examinar o histórico de definições de versão para encontrar a diferença das alterações e, em seguida, editar manualmente a definição de versão. Agora, usando o recurso Reverter definição(Figura 96), você pode escolher e reverter para qualquer versão mais antiga de uma definição de versão na guia Histórico da definição de versão.

Reverter definição de versão
(Figura 96) Reverter definição de versão

Notificações personalizadas para lançamentos

As notificações de versão agora estão integradas com a experiência de configurações de notificação do VSTS. Aqueles que gerem lançamentos agora são automaticamente notificados de ações pendentes (aprovações ou intervenções manuais) e falhas importantes na implantação. Você pode desativar essas notificações navegando até as configurações de Notificação no menu de perfil e desativando as Assinaturas de Lançamento. Também pode subscrever notificações adicionais criando subscrições personalizadas. Os administradores podem controlar subscrições para equipas e grupos a partir das definições de Notificação em Equipa e Conta.

Os autores de definições de versão não precisam mais enviar e-mails manualmente para aprovações e conclusão da implantação.

Isso é especialmente útil para contas grandes que têm vários participantes para versões e para aqueles que não sejam o aprovador, o criador da versão e o proprietário do ambiente que podem querer ser notificados (Figura 97).

Notificações de lançamento
(Figura 97) Notificações de lançamento

Sugestão

Consulte a publicação para gerenciar notificações de lançamento para obter mais informações.

Testes

Removendo o suporte para o Lab Center e fluxos de teste automatizados no Microsoft Test Manager

Com a evolução do Build and Release Management, as compilações XAML não são mais suportadas no TFS 2018 e, consequentemente, estamos atualizando o suporte para usar o Microsoft Test Manager (MTM) com o TFS. O uso do Centro de Teste/Centro de Laboratório no MTM para testes automatizados não é mais suportado pelo TFS, a partir do TFS 2018. Se você não estiver pronto para migrar das compilações XAML e do Lab Center, não deverá atualizar para o TFS 2018.

Veja o impacto da atualização para o TFS 2018 abaixo:

Centro de laboratório:
  • Não é mais suportado:
    • Os controladores de teste não podem ser registrados no TFS para criar e gerenciar ambientes de laboratório.
    • Todos os controladores de teste existentes registrados no TFS ficarão offline e os ambientes de laboratório existentes aparecerão como 'Não prontos'.
  • Alternativa recomendada:
Testes automatizados:
Testes manuais:
  • Todos os cenários de teste manual continuam a ser totalmente suportados. Embora os testes manuais possam ser executados usando o MTM com o TFS 2018, os Ambientes de Laboratório não podem ser usados para executar testes manuais.
  • Para todos os cenários de teste manual, é altamente recomendável usar o hub de teste no acesso à Web do TFS.

Com base no feedback que recebemos das equipes que fazem testes exploratórios, estamos melhorando os links de rastreabilidade enquanto arquivamos bugs, tarefas ou casos de teste da extensão Test & Feedback. Bugs e tarefas criados durante a exploração de requisitos agora são criados com o mesmo caminho de área e iteração do requisito, em vez dos padrões predefinidos da equipe. Os casos de teste criados durante a exploração de requisitos agora serão vinculados a um link Testes <-> Testado por em vez do link Pai <-> Filho para que os casos de teste que criar sejam adicionados automaticamente às suites de teste baseadas em requisitos. Finalmente, os itens de trabalho criados sem explorar especificamente nenhum requisito são arquivados na iteração padrão da equipe em vez da iteração atual para que nenhum novo item de trabalho entre na iteração atual após a conclusão do planejamento da sprint.

Filtros para itens de trabalho de casos de teste em Planos e Suítes de Teste no Test Hub

Além dos filtros nos campos Test como Outcome, Configuration e Tester, agora você pode filtrar os campos de item de trabalho Test Case como Title, State e Assigned To(Figura 98).

Filtros de caso de teste
(Figura 98) Filtros de caso de teste

Gráficos de tendência de teste para ambientes de release e execuções de teste

Estamos adicionando suporte para ambientes de lançamento no widget Test Result Trend(Figura 99) para que você possa acompanhar o status dos ambientes de teste nos painéis VSTS. Tal como faz para os resultados dos testes em Build, agora pode criar gráficos de tendência mostrando a taxa de sucesso dos testes, a contagem do total, os testes aprovados ou reprovados e a duração do teste para Ambientes de Lançamento. Você também pode filtrar os gráficos para uma execução de teste específica dentro de um ambiente com o filtro de título Test Run .

Gráfico de tendência de teste
(Figura 99) Gráfico de tendência de teste

Suporte para formatação Markdown nos comentários de Execução de Teste e Resultado de Teste

Estamos adicionando suporte para formatar comentários Test Run e Test Result com sintaxe de markdown. Você pode usar esse recurso para criar texto formatado ou links rápidos para URLs em seus comentários. Você pode atualizar os comentários do Resultado do Teste na página de Resumo do Resultado com comentários de atualização; e os comentários de execução de Teste na página de Resumo de Execução com comentários de atualização no hub Teste.

Ao analisar o resultado do teste na página Resumo da compilação ou versão ou no hub de teste , agora você pode associar um bug existente a um teste com falha. Isso é útil quando um teste está falhando por um motivo conhecido que tem um bug já arquivado.

Carregar anexos para execuções de teste e resultados dos testes

Agora você pode anexar arquivos como capturas de tela e arquivos de log para testar execuções ou resultados de teste como informações adicionais. Até este ponto, esse recurso só estava disponível através do cliente Microsoft Test Manager (MTM), forçando você a alternar o contexto entre o hub de teste no VSTS/TFS e o cliente MTM.

Lote de teste

Na tarefa de teste do Visual Studio no gerenciamento de compilação/versão, as opções estão disponíveis para controlar como os testes devem ser agrupados (em lote) para uma execução eficiente. Os testes podem ser agrupados de duas maneiras:

  1. Com base no número de testes e agentes que participam da execução, que simplesmente agrupa os testes em um número de lotes de um tamanho especificado.
  2. Com base no tempo de execução anterior dos testes, que considera o tempo de execução passado para criar lotes de testes de modo que cada lote tenha aproximadamente o mesmo tempo de execução (Figura 100). Os testes de execução rápida são agrupados em lote, enquanto os testes de execução mais longos podem pertencer a um lote separado. Essa opção pode ser combinada com a configuração de fase de vários agentes para reduzir o tempo total de teste ao mínimo.
Lote de teste
(Figura 100) Lote de teste

Executar testes web usando a tarefa VSTest

Usando a tarefa de teste do Visual Studio, os webtests, também conhecidos como testes de desempenho da Web, agora podem ser executados no pipeline de CI/CD. Webtests podem ser executados especificando os testes a serem executados na entrada de montagem de tarefas. Qualquer item de trabalho de caso de teste que tenha uma "automação associada" vinculada a um webtest também pode ser executado selecionando o plano de teste/conjunto de testes na tarefa (Figura 101).

Seleção do teste
(Figura 101) Seleção do teste

Os resultados do Webtest estão disponíveis como um anexo ao resultado do teste (Figura 102). Isso pode ser baixado para análise offline no Visual Studio.

Resumo do teste
(Figura 102) Resumo do teste

Esse recurso depende de alterações na plataforma de teste do Visual Studio e requer que o Visual Studio 2017 Update 4 esteja instalado no agente de compilação/versão. Webtests não podem ser executados usando versões anteriores do Visual Studio.

Da mesma forma, webtests podem ser executados usando a tarefa Run Functional Test . Esse recurso depende de alterações no Test Agent, que estará disponível com o Visual Studio 2017 Update 5.

Sugestão

Consulte o Teste de carga do seu aplicativo na nuvem usando o Visual Studio e o início rápido do VSTS como um exemplo de como você pode usar isso junto com o teste de carga.

Widget de gráfico para planos de teste e pacotes de teste

Anteriormente, você podia criar gráficos para planos de teste e suítes no hub de teste e fixá-los no painel. Agora adicionamos um widget que permite criar gráficos para planos de teste e suítes a partir do catálogo de widgets no painel. Você pode criar gráficos para o status de criação do teste ou o status de execução do teste. Além disso, adicionar gráficos do widget permite que você crie gráficos maiores quando tiver mais dados a serem mostrados em um gráfico (Figura 103).

Widget de gráfico
(Figura 103) Widget de gráfico

Suporte para capturas de ecrã e anotações para aplicações de ambiente de trabalho com o navegador Chrome para testes manuais

Estamos a adicionar suporte para uma das principais sugestões de testes manuais - a captura de ecrãs de aplicações de ambiente de trabalho a partir do Web Test Runner no hub de Teste. Até agora, você tinha que usar o Test Runner no Microsoft Test Manager para capturar capturas de tela de aplicativos da área de trabalho. Você precisa instalar a extensão Test & Feedback para usar essa funcionalidade. Estamos lançando suporte para o navegador Chrome, e o Firefox seguirá logo em seguida.

Descontinuando a extensão do TFS para SharePoint

O TFS 2018 e versões posteriores não suportarão mais a Extensão do TFS para SharePoint. Além disso, as telas usadas para configurar a integração entre um servidor TFS e um servidor do SharePoint foram removidas do Console de Administração do Team Foundation.

Observação

Se você estiver atualizando para o TFS 2018 de uma versão anterior configurada para integração com o SharePoint, precisará desabilitar a integração do SharePoint após a atualização, ou seus sites do SharePoint do TFS não serão carregados.

Criámos uma solução que permite desativar a integração no servidor SharePoint. Para obter mais informações, consulte o post sobre o futuro de nossa integração TFS/SharePoint.

Descontinuando Salas de Equipe

As equipas de desenvolvimento modernas dependem fortemente da colaboração. As pessoas querem (e precisam) de um lugar para monitorar a atividade (notificações) e falar sobre ela (bate-papo). Há alguns anos, reconhecemos essa tendência e nos propusemos a construir a Sala de Equipe para dar suporte a esses cenários. Desde então, vimos mais soluções para colaborar surgirem no mercado. Mais notavelmente, a ascensão do Slack. E mais recentemente, o anúncio do Microsoft Teams.

Com tantas boas soluções disponíveis que se integram bem ao TFS e ao Visual Studio Team Services, anunciamos em janeiro os planos para remover nosso recurso de Sala de Equipe do TFS 2018 e do Visual Studio Team Services.


Como estamos?

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.


Topo da página