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 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
Esta não é a versão mais recente do Team Foundation Server. Para baixar a versão mais recente, visite as notas de versão atuais do Team Foundation Server 2018 Atualização 3. 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 2017 Atualização 2. Clique no botão para fazer o download.
Para saber mais sobre o Team Foundation Server 2017, consulte a página .
Consulte a página Instalação do TFS para obter mais informações.
Data de lançamento: 24 de julho de 2017
Resumo do que há de novo no Team Foundation Server 2017 Atualização 2
Adicionamos muito valor novo ao Team Foundation Server 2017 Update 2. Alguns dos destaques incluem:
- Os itens de trabalho agora têm ícones associados a cada tipo de item de trabalho.
- Introduzimos Planos de Entrega.
- Você pode pesquisar itens de trabalho usando a Pesquisa de Item de Trabalho.
- Há uma nova experiência de configuração de políticas de ramificação.
- Houve muitas melhorias no pull request.
- Agora existem gráficos Git para visualizar seu histórico do Git.
- Agora você pode adicionar e visualizar tags Git.
- Temos uma nova experiência em Gestão de Pacotes.
- Há uma nova experiência de editor de definição de compilação.
- Várias atualizações ao implantar em Aplicativos Web do Azure.
- Muitas melhorias ao implementar contentores.
- Introduzimos tarefas de construção condicional.
- Existem agora notificações pré-configuradas.
Você pode ver os detalhes de todos os novos recursos visualizando as melhorias por área de recurso:
- Acompanhamento de itens de trabalho
- Version control (Controlo de versões)
- Pedido de Pull
- Gestão de Pacotes
- Compilação e lançamento
- Testando
- Armazém
- Administração
- Integração com o Microsoft Teams
Detalhes do que há de novo na Atualização 2 do TFS 2017
Melhorias no acompanhamento de itens de trabalho
Ícones de tipo de item de trabalho
Assumimos um compromisso global de tornar os nossos produtos totalmente acessíveis aos nossos clientes. Como parte desse compromisso, temos trabalhado para encontrar e resolver muitos problemas de acessibilidade – em qualquer lugar, desde padrões de teclado até design visual e layout.
O rastreamento de itens de trabalho dependeu apenas da cor em muitas experiências para transmitir o tipo de item de trabalho. No entanto, isso é problemático para nossos daltônicos ou usuários com baixa visão que podem não ser capazes de distinguir entre os itens devido a semelhanças de cor. Para aumentar a facilidade de leitura dos tipos de item de trabalho para todos os nossos clientes, introduzimos ícones na linguagem visual dos tipos de item de trabalho. Você pode personalizar seus tipos de item de trabalho escolhendo entre uma seleção de nossa biblioteca de ícones.
As barras de cores que transmitem o tipo na lista de pendências e as grades de consultas foram substituídas por ícones coloridos (Figura 1).
Os cartões no tabuleiro agora incluem um ícone de tipo (Figura 2).
Planos de Entrega
Os Planos de Entrega são uma ferramenta organizacional que ajuda você a impulsionar a visibilidade e o alinhamento entre equipes, acompanhando o status do trabalho em um calendário baseado em iteração. Você pode personalizar seu plano para incluir qualquer equipe ou nível de lista de pendências de todos os projetos na conta. Além disso, os Critérios de Campo em Planos permitem-lhe personalizar ainda mais a sua vista, enquanto os Marcadores realçam datas importantes.
Confira a página do marketplace para Planos de Entrega para saber mais e instalar a extensão.
Para usuários com uma instância do TFS desconectada da Internet, os Planos de Entrega estão disponíveis diretamente na opção Gerenciar extensões no acesso à Web, sem navegar até o VSTS Marketplace. Em Gerenciar extensões, clique em Procurar extensões locais, selecione Planos de entrega e clique em Instalar. Consulte a documentação sobre extensões pré-instaladas para obter mais informações.
Vinculação automática de itens de trabalho a compilações
Com essa nova configuração na definição de compilação, você pode acompanhar as compilações que incorporaram seu trabalho sem ter que pesquisar um grande conjunto de compilações manualmente. Cada compilação bem-sucedida associada ao item de trabalho aparece automaticamente na seção de desenvolvimento do formulário de item de trabalho.
Para habilitar esse recurso, alterne a configuração em Opções na definição de compilação (Figura 3).
Descontinuação do formulário de item de trabalho antigo
Os comentários gerais sobre o novo formulário de item de trabalho têm sido positivos, e agora temos 100% de adoção nas nossas contas hospedadas. Queremos que os clientes locais aproveitem o mesmo valor que encantou os nossos utilizadores do VSTS e, por isso, tomámos a decisão de descontinuar o antigo formulário de item de trabalho e o antigo modelo de extensibilidade. Leia mais sobre nossos planos na página Gerenciamento do Ciclo de Vida de Aplicativos Microsoft .
Pesquisa de Item de Trabalho
A Pesquisa de Item de Trabalho fornece pesquisa rápida e flexível em todos os seus itens de trabalho em todos os projetos de uma coleção (Figura 4). Você pode usar o mecanismo de pesquisa de texto completo da Pesquisa de Item de Trabalho para pesquisar facilmente termos em todos os campos de item de trabalho e localizar com eficiência itens de trabalho relevantes. Utilize filtros de pesquisa em linha, em qualquer campo de item de trabalho, para rapidamente reduzir a lista de itens de trabalho.
Depois que o serviço de Pesquisa estiver configurado no TFS, você poderá pesquisar sem a necessidade de instalar mais nada. Usando a Pesquisa de Item de Trabalho você pode:
- Pesquise todos os seus projetos: Pesquise na sua própria lista de pendências e na das suas equipas parceiras. Utilize pesquisas entre projetos em todos os itens de trabalho para buscar em toda a sua organização. Restrinja a sua pesquisa utilizando filtros de caminho de projeto e de área.
- Pesquisar em todos os campos de item de trabalho: Encontre itens de trabalho relevantes de forma rápida e fácil pesquisando em todos os campos de item de trabalho (incluindo campos ere). Use uma pesquisa de texto completo em todos os campos para localizar com eficiência itens de trabalho relevantes. O modo de exibição indica onde os resultados foram encontrados.
- Pesquisar em campos específicos: Use os filtros de pesquisa rápida em linha, em qualquer campo de item de trabalho, para reduzir a uma lista de itens de trabalho em segundos. A lista suspensa de sugestões ajuda a concluir sua pesquisa mais rapidamente. Por exemplo, uma pesquisa como AssignedTo:Chris WorkItemType:Bug State:Ative encontra todos os bugs ativos atribuídos a um usuário chamado Chris.
- Aproveite a integração com o rastreamento de itens de trabalho: A interface de Pesquisa de Item de Trabalho integra-se com controles familiares no hub Trabalho, permitindo visualizar, editar, comentar, compartilhar e muito mais.
Melhorias no controle de versão
Nova experiência de configuração de políticas de filial
Redesenhamos a experiência de configuração de políticas de ramificação e adicionamos alguns novos recursos excelentes (Figura 5). Um dos recursos mais poderosos é a capacidade de configurar políticas para pastas de filiais. Você pode fazer isso na visualização Ramos , selecionando uma pasta de ramificação e escolhendo Políticas de ramificação no menu de contexto.
Isso abrirá a nova UX de configuração de políticas, onde você poderá configurar políticas que se aplicam a todas as ramificações na pasta branch (Figura 6).
Se você estiver usando a política de compilação, agora poderá configurar várias compilações para uma única ramificação. Há também novas opções para especificar um gatilho automático ou manual (Figura 7). Os gatilhos manuais são úteis para coisas como execuções de teste automatizadas que podem levar muito tempo para serem executadas, e você só precisa realmente executar uma vez antes de concluir a solicitação pull. A política de compilação também tem um nome de exibição que é útil se você estiver configurando várias compilações.
Depois de configurar uma política acionada manualmente, você pode executá-la selecionando a opção Queue build na seção Policies para a solicitação pull (Figura 8).
Para as políticas de revisor necessárias (Figura 9), adicionamos a capacidade de os administradores especificarem uma nota que pode ser anexada à linha do tempo da solicitação pull quando a política se aplica (Figura 10).
Nova política para ausência de comentários ativos
Certifique-se de que todos os comentários em suas solicitações pull sejam endereçados com a nova política de comentários . Com esta política ativada, os comentários ativos bloquearão a conclusão do PR, forçando todos os comentários a serem resolvidos. Os revisores que deixam comentários para o autor de RP, mas aprovam com otimismo a solicitação pull, podem ter certeza de que um autor que está ansioso para mesclar não perderá nenhum comentário.
Melhorias no hub de arquivos
Fizemos várias atualizações no hub Arquivos para melhorar as experiências de visualização e edição.
Para visualização, adicionamos pivôs que permitem visualizar o LEIA-ME na pasta atual (Figura 11), visualizar arquivos Markdown, comparar um arquivo com uma versão anterior (Figura 12) e exibir culpa.
Para edição, agora você pode visualizar suas alterações, adicionar facilmente um comentário, confirmar uma nova ramificação e vincular itens de trabalho (Figura 13).
Visualize seu repositório Git
Agora você pode ver um gráfico enquanto mostra o histórico de confirmação de repositórios ou arquivos. Isso permite que você crie facilmente um modelo mental de todas as suas ramificações e confirmações para seus repositórios git usando o gráfico git (Figura 14). O gráfico mostra todos os seus commits em ordem topológica.
Os elementos-chave do gráfico Git incluem (Figura 15):
- O gráfico Git está alinhado à direita, portanto, as confirmações associadas à ramificação padrão ou à ramificação selecionada aparecem à direita, enquanto o restante do gráfico cresce à esquerda.
- As confirmações de mesclagem são representadas por pontos cinzentos ligados ao primeiro pai e ao segundo pai.
- As confirmações normais são representadas por pontos azuis.
- Se a confirmação pai de uma confirmação não estiver visível na porta de exibição nas próximas 50 confirmações, excluiremos a conexão de confirmação. Depois de clicar na seta, o commit é ligado ao commit pai.
Ver tags git em confirmações
Se sua equipe estiver usando tags Git para marcar um ponto específico no histórico do repositório, suas confirmações mostrarão as tags que você criou. Você pode visualizar as tags (Figura 16) para um commit específico na vista de lista de commits e na página de detalhes.
Adicionar tags a confirmações
Em vez de criar tags a partir da linha de comando e enviar as tags para o repositório, agora você pode simplesmente ir para uma confirmação e adicionar uma tag (Figura 17). A caixa de diálogo de criação de tags também permitirá que você marque qualquer outra ref no repositório.
A exibição de lista de confirmação também oferece suporte a um menu de contexto (Figura 18). Não é necessário ir para a página de detalhes de confirmação para criar tags e novas ramificações (Figura 19).
Páginas atualizadas do conjunto de alterações e do conjunto de shelve
Modernizámos as páginas de modificações (changesets) e armazenamento (shelvesets) no TFVC. Ambas as páginas são mais acessíveis para aqueles que usam tecnologias assistivas. As novas páginas também têm um novo cabeçalho que contém o título do conjunto de alterações e informações associadas sobre o conjunto de alterações, como detalhes do autor (Figura 20).
As páginas de changeset e shelveset também incluem uma nova ferramenta de discussão de markdown (Figura 21) que permitirá aos utilizadores digitar comentários em markdown, associar itens de trabalho usando # e anexar facilmente arquivos e imagens.
Filtragem aprimorada de commits
Agora você pode filtrar os resultados do histórico de confirmação (Figura 22) por opções avançadas de filtragem. Você pode filtrar confirmações por:
- história completa.
- histórico completo com mesclagens simplificadas.
- primeiro progenitor.
- Histórico simples (esta é a configuração de filtro padrão).
Importar repositórios do TFVC para o Git
Você pode migrar o código de seus repositórios TFVC para repositórios Git na mesma conta. Para iniciar a migração, selecione import repository na lista suspensa do seletor de repositório (Figura 23).
Pastas individuais ou ramificações podem ser importadas para o repositório Git ou todo o repositório TFVC pode ser importado (menos as ramificações) (Figura 24). Você também pode importar até 180 dias de histórico.
Bloqueio de arquivos Git LFS
Adicionamos o recurso de bloqueio de arquivos Git LFS. Isso permite que as equipes que trabalham com arquivos grandes e indifundíveis evitem perder trabalho quando duas ou mais pessoas tentam editar o mesmo arquivo ao mesmo tempo. Antes que qualquer pessoa possa começar a editar o arquivo, ela usa um bloqueio e esse bloqueio notifica o servidor. Quando alguém tenta fazer um bloqueio, o servidor rejeita a solicitação, informando a segunda pessoa de que outra pessoa já está trabalhando nesse arquivo. Atualize para o Git LFS 2.1 ou superior para usar esse recurso.
Comentários de confirmação do Git usam o novo controle de discussão
Atualizámos os comentários leves deixados em commits do Git para utilizar o novo controlo de discussão. Isso traz suporte para Markdown nesses comentários e completa todos os recursos de comentário de código na Web para que o Git e o TFVC usem a experiência mais recente.
Novo controlo de visualização em árvore
A visualização Pull Request Files, Git commit details, Git push details, TFVC Shelveset details, TFVC Changeset details, TFVC Changesets hub e Git history hub foram atualizados com um novo controle de visualização em árvore (Figura 25). A vista em árvore tem algumas melhorias de usabilidade. Primeiro, alterámos a visão para mostrar uma visão em árvore condensada que colapsa automaticamente nós de pastas vazias, maximizando o número de arquivos que são visíveis.
A árvore também mostra os comentários de uma forma mais compacta. Arquivos com comentários mostram um item filho para cada thread de comentário, com o avatar indicando o usuário que criou o thread. Novos tópicos de comentários e aqueles com respostas são indicados pelo ponto azul, e a contagem de respostas é resumida com uma contagem.
Melhorias no Pull Request
CTAs aprimorados para autores e revisores de RP
Para equipes que usam políticas de filial, às vezes pode ser difícil saber exatamente qual ação é necessária quando você visualiza uma solicitação pull. Se a chamada para ação principal for o botão Concluir , isso significa que ela está pronta para ser concluída? Usando informações sobre a pessoa que visualiza a página e o estado das políticas de ramificação configuradas, a visualização de RP agora apresentará a chamada para ação que faz mais sentido para esse usuário.
Quando as políticas são configuradas, mas não são aprovadas, o botão Concluir(Figura 26) agora incentiva o uso do recurso Preenchimento automático . Não é provável que você possa concluir o PR com sucesso se as políticas estiverem bloqueando, então oferecemos uma opção que completa o PR quando essas políticas eventualmente forem aprovadas.
Para os revisores, é mais provável que você queira aprovar uma RP do que concluí-la, portanto, os revisores verão o botão Aprovar(Figura 27) destacado como o CTA principal se você ainda não tiver aprovado.
Uma vez aprovado, os revisores verão o botão Concluir (ou Preenchimento automático) destacado como CTA para os casos em que um revisor também é a pessoa que conclui o PR.
Comentários passíveis de ação
Em um RP com mais do que alguns comentários, pode ser difícil acompanhar todas as conversas. Para ajudar no gerenciamento de comentários, simplificamos o processo de resolução de itens que foram abordados com uma série de aprimoramentos:
- No cabeçalho de cada RP, você verá uma contagem dos comentários que foram resolvidos (Figura 28).
- Quando um comentário é endereçado, você pode resolvê-lo com um único clique (Figura 29).
- Se você tiver comentários para adicionar enquanto estiver resolvendo, poderá responder e resolver em um único gesto (Figura 30).
- À medida que os comentários forem resolvidos, você verá a contagem subir até que tudo tenha sido resolvido (Figura 31).
- Melhoramos o filtro na Visão geral para habilitar a filtragem por vários estados de comentário e mostrar a contagem de comentários para cada opção de filtro (Figura 32).
A vista de atualizações mostra rebase e force push
Na visualização de detalhes do Pull Request, a aba Atualizações foi melhorada para mostrar quando ocorreu um force push e se o commit base foi alterado (Figura 33). Esses dois recursos são extremamente úteis se você rebasear as alterações em suas ramificações de tópicos antes de concluir seus RPs. Os revisores agora terão informações suficientes para saber exatamente o que aconteceu.
Filtragem de solicitação pull por pessoas
Agora é mais fácil encontrar pull requests! Adicionamos novas opções de filtragem para permitir que você encontre RPs criados por um autor específico ou atribuídos a um revisor específico (Figura 34). Basta selecionar um usuário no filtro de autor ou revisor e a lista será atualizada para mostrar apenas os PRs que correspondem ao filtro.
Motivo necessário para ignorar as políticas de pull request
Quando você está ignorando uma política de solicitação pull, é necessário especificar um motivo. Na caixa de diálogo Complete pull request, você verá um novo campo Reason, se eles optarem por ignorar (Figura 35).
Depois de inserir o motivo e concluir a solicitação pull, a mensagem é exibida na Visão geral(Figura 36).
Compartilhar solicitações pull com equipes
A ação Share Pull Request é uma maneira prática de notificar os revisores (Figura 37). Nesta versão, adicionamos suporte para equipes e grupos, para que você possa notificar todos os envolvidos da solicitação pull em uma única etapa.
Melhorias no pull request para equipes
Se for membro de várias equipas, verá agora todos os Pull Requests atribuídos a essas equipas listados na visualização Minhas Pull Requests(Figura 38). Isso faz com que a visualização Meus Pull Requests seja o único local que você precisa visitar para ver todos os PRs que tem pendentes.
Em uma versão futura, adicionaremos equipes ao hub Pull Requests em Código para facilitar a visualização de todos os seus PRs para um único projeto.
Notificações padrão para comentários de solicitação pull
Mantenha-se atualizado com as conversas que acontecem em seus RPs com as novas notificações de comentários (Figura 39). Para PRs que você criou, você será notificado automaticamente sempre que um utilizador adicionar um novo tópico de comentários ou responder a um tópico existente. Ao comentar sobre o PR de outro usuário, você será notificado sobre quaisquer respostas futuras a threads de comentários criados ou respondidos.
Essas notificações estão disponíveis como parte das assinaturas prontas para uso e podem ser configuradas na página Configurações de notificações .
Melhorias no gerenciamento de pacotes
Experiência atualizada de gerenciamento de pacotes
Atualizamos a experiência do usuário do Gerenciamento de Pacotes para torná-la mais rápida, resolver problemas comuns relatados pelo usuário e abrir espaço para os próximos recursos do ciclo de vida do pacote (Figura 40). Saiba mais sobre a atualização na página Experiência atualizada .
O Gerenciamento de Pacotes adiciona npm READMEs e botão de download
Agora você pode ver o LEIA-ME de qualquer pacote npm que inclua um README.md no pacote (Figura 41). Os LEIA-MEs podem ajudar sua equipe a documentar e compartilhar conhecimento sobre seus pacotes.
Você também pode baixar qualquer pacote npm usando o botão Download na barra de comandos.
Tarefas de compilação do NuGet Restore e do NuGet Command
Fizemos grandes atualizações na tarefa Instalador do NuGet (agora chamada de Restauração do NuGet) e adicionamos uma nova tarefa do NuGet: Comando NuGet. Mais notavelmente, as tarefas Comando NuGet e Restauração NuGet agora usam nuget.exe 4.0.0 por padrão.
O NuGet Restore agora está otimizado para o cenário mais comum de restauração de pacotes antes de uma etapa de compilação do Visual Studio. Ele também tem melhor suporte para pequenos projetos que compartilham um único feed NuGet: agora você pode escolher um feed do Team Services e adicioná-lo a um NuGet.config gerado automaticamente.
Para operações NuGet mais complexas, a tarefa Comando NuGet fornece a flexibilidade para especificar qualquer comando e conjunto de argumentos (Figura 42).
Melhorias de compilação e lançamento
Novo editor de definição de build
Redesenhamos nosso editor de definição de compilação para fornecer uma experiência mais intuitiva, corrigir alguns pontos problemáticos e adicionar novos recursos. Esperamos que seja mais fácil usar modelos, adicionar tarefas e alterar configurações. Além disso, agora você pode usar parâmetros de processo para facilitar a especificação dos bits de dados mais importantes sem ter que se aprofundar em suas tarefas.
Procurar modelos
Procure o modelo desejado e, em seguida, aplique-o ou comece com um processo vazio (Figura 43).
Encontre e adicione rapidamente uma tarefa exatamente onde quiser
Procure a tarefa que deseja usar e, depois de encontrá-la, você pode adicioná-la após a tarefa atualmente selecionada no lado esquerdo ou arrastá-la e soltá-la para onde quiser (Figura 44).
Você também pode arrastar e soltar uma tarefa para movê-la ou arrastar e soltar enquanto mantém pressionada a tecla Ctrl para copiar a tarefa.
Use parâmetros de processo para passar argumentos-chave para suas tarefas
Agora você pode usar parâmetros de processo (Figura 45 para tornar mais fácil para aqueles que usam sua definição de compilação ou modelo especificar os bits de dados mais importantes sem ter que se aprofundar em suas tarefas.
Se você criar uma nova compilação a partir de alguns dos modelos internos (por exemplo, Visual Studio e Maven), poderá ver exemplos de como eles funcionam. O novo editor inclui algumas outras melhorias, como dar-lhe acesso mais rápido às suas configurações de fontes.
Para obter um passo a passo sobre como criar sua primeira definição de compilação usando o novo editor, consulte CI/CD para novatos.
Saiba mais na página de experiência do usuário de 2017 .
Várias versões de tarefas de extensão
Os autores de extensões agora podem criar extensões com várias versões de uma determinada tarefa, permitindo que enviem patches para cada versão principal que tenham em produção.
Consulte Referência para criar tarefas de compilação personalizadas em extensões.
Tarefas de compilação condicionais
Se você está procurando mais controle sobre suas tarefas de compilação, como uma tarefa para limpar coisas ou enviar uma mensagem quando algo dá errado, agora estamos oferecendo quatro opções internas para você controlar uma tarefa em execução (Figura 46).
Se você está procurando mais flexibilidade, como uma tarefa para executar em ramificações específicas, com certos gatilhos, sob certas condições, você pode expressar suas próprias condições personalizadas:
and(failed(), eq(variables['Build.Reason'], 'PullRequest'))
Consulte a página Especificar condições para executar uma tarefa.
Tarefas internas para criar e implantar aplicativos baseados em contêiner
Com esta versão, transferimos a maioria das tarefas em nossa extensão Docker para o produto por padrão, melhorámo-las e introduzimos um conjunto de novas tarefas e modelos para facilitar um conjunto de cenários de contêiner.
- Docker: Crie, publique ou execute imagens do Docker, ou execute um comando do Docker. Essa tarefa pode ser usada com o Docker ou o Registro de Contêiner do Azure. Agora podes usar a nossa autenticação principal de serviço integrada com ACR para a tornar ainda mais fácil de usar.
- Docker-Compose: Construa, publique ou execute aplicações Docker de múltiplos contêineres. Essa tarefa pode ser usada com o Docker ou o Registro de Contêiner do Azure.
- Kubernetes: Implante, configure ou atualize seu cluster Kubernetes no Serviço de Contêiner do Azure executando comandos kubectl.
- Service Fabric: Implante contêineres em um cluster do Service Fabric. Atualmente, o Service Fabric é a melhor opção para executar contêineres do Windows na nuvem.
Atualizações de implantação do Aplicativo Web do Azure
Fizemos muitos aprimoramentos para os Aplicativos Web do Azure:
- A tarefa de implantação do Serviço de Aplicativo do Azure dá suporte à implantação de arquivos Java WAR, aplicativos Node.js, Python e PHP.
- A tarefa de implantação do Serviço de Aplicativo do Azure dá suporte à implantação no Aplicativo Web do Azure para Linux usando contêineres.
- A Entrega Contínua no portal do Azure foi expandida para dar suporte a aplicações Node.js.
- A tarefa de gerenciamento do Serviço de Aplicativo do Azure é adicionada para Iniciar, Parar, Reiniciar ou realizar troca de Slot em um Serviço de Aplicativo do Azure. Ele também suporta a instalação de extensões de site para habilitar a instalação da versão PHP ou Python necessária ou a instalação do Gerenciador do IIS ou do Application Insights.
Também introduzimos o suporte a CI/CD na versão mais recente da CLI do Azure para configurar CI/CD. Aqui está um exemplo:
az appservice web source-control config --name mywebapp --resource-group mywebapp_rg --repo-url https://myaccount.visualstudio.com/myproject/_git/myrepo --cd-provider vsts --cd-app-type AspNetCore
As tarefas do .NET Core suportam arquivos de projeto
Com a atualização atual, estamos aprimorando as tarefas principais do .NET para oferecer suporte a arquivos *.csproj, além de project.json. Agora você pode usar o Visual Studio 2017 em seus agentes de compilação para criar aplicativos .NET core usando arquivos csproj.
Melhorias na implantação de SSH
A tarefa Copy Files Over SSH build/release agora suporta tildes(~) no caminho de destino para simplificar a cópia de arquivos para o diretório inicial de um usuário remoto. Além disso, uma nova opção faz com que a compilação/liberação falhe quando nenhum arquivo é encontrado para copiar.
A tarefa de compilação/lançamento SSH agora suporta a execução de scripts com terminações de linha do Windows em máquinas Linux ou macOS remotas.
Instalar uma chave SSH durante uma compilação ou lançamento
Uma nova tarefa de visualização, Instalar chave SSH (Visualização), instala uma chave SSH antes de uma compilação ou versão e a remove do agente quando a compilação ou versão é concluída. A chave instalada pode ser usada para buscar código de um repositório Git ou submódulos, executar scripts de implementação ou outras atividades que exigem autenticação SSH. Este recurso será melhorado no futuro para suportar frases secretas e outros recursos.
As tarefas falham se o Visual Studio 2017 estiver especificado, mas não estiver presente no agente
As tarefas Visual Studio Build e MSBuild permitem que você selecione uma versão específica do Visual Studio. Até agora, se a versão do Visual Studio 2017 não estivesse disponível, essas tarefas escolheriam automaticamente a próxima versão disponível.
Estamos a mudar este comportamento. Agora, a compilação falhará se você selecionar Visual Studio 2017 , mas ela não estiver presente no agente.
Fizemos essa alteração pelos seguintes motivos:
Tipos de aplicativos mais recentes, como o .NET Core, não são compilados com ferramentas de compilação mais antigas. Eles exigem explicitamente o Visual Studio 2017 ou mais recente.
Você obtém resultados mais consistentes e previsíveis quando usa a mesma versão exata do Visual Studio.
Sempre que as tarefas de construção falham, pode-se encontrar erros de compilação que são difíceis de entender.
Sugestão
Certifique-se de usar uma fila conectada a um pool que tenha agentes com o Visual Studio 2017 e nenhum agente que tenha apenas versões anteriores do Visual Studio.
Limpeza automática do espaço de trabalho do agente privado
Agora você pode configurar um pool de agentes para limpar periodicamente diretórios e repositórios de trabalho obsoletos (Figura 47). Por exemplo, o pool excluirá espaços de trabalho deixados para trás por definições de compilação e versão excluídas.
O uso dessa opção deve reduzir o potencial de seus agentes privados de compilação e liberação ficarem sem espaço em disco. A manutenção é feita por agente (não por máquina), portanto, se você tiver vários agentes em uma única máquina, ainda poderá ter problemas de espaço em disco.
Status de atualização do agente de compilação
Quando um agente é atualizado, ele agora indica o estado da atualização no portal de gestão de fila e grupo.
Seleção de agentes privados em máquinas não utilizadas
O sistema agora usa o nome da máquina como um fator ao alocar uma compilação ou uma liberação para um agente privado. Como resultado, o sistema preferirá um agente em uma máquina ociosa em vez de um agente em uma máquina ocupada quando aloca o trabalho.
Fila de pipelines
Agora passamos do modelo de preços baseado em agente para o modelo de preços baseado em pipeline. Nesse novo modelo, os usuários podem executar tantas compilações ou lançamentos simultaneamente quanto o número de pipelines configurados em sua conta. Compilações e versões adicionais além desse limite são colocadas em fila de espera até que as compilações e versões anteriores sejam concluídas. O recurso fila de Pipelines fornece aos utilizadores mais visibilidade sobre onde estão as suas compilações ou versões.
Ao iniciar a fila Pipelines, você pode ver as seguintes informações:
1. Compilações e liberações aguardando a execução de um pipeline e sua posição na fila de espera. 2. Compilações e lançamentos atualmente em execução usando pipelines disponíveis.
Enquanto sua compilação/liberação está aguardando um pipeline, você também pode iniciar diretamente essa exibição de dentro da página de logs de compilação/liberação e encontrar sua posição atual na fila de pipeline e outros detalhes.
Ação de distribuição no Resumo da compilação
Agora estamos oferecendo suporte a uma ação Release , disponível na barra de ação Build summary, para que seja fácil criar uma versão para uma compilação.
Segurança para grupos de variáveis
A segurança para grupos variáveis agora é regida por um conjunto de funções, como Criador e Administrador.
Por padrão, as funções abaixo são atribuídas.
- Papel de criador para contribuidores
- Função de administrador para administradores de coleção de projetos, administradores de projeto, administradores de compilação e administradores de versão
- Função de leitor para utilizadores válidos do projeto
Os padrões podem ser substituídos para todos os grupos de variáveis ou para um específico.
Aprimoramentos do iOS DevOps
A extensão da Apple App Store agora suporta verificação em duas etapas (autenticação de dois fatores) e liberação de compilações para testadores externos (Figura 48).
Install Apple Certificate (Preview) é uma nova tarefa de compilação que instala um certificado de assinatura P12 no agente para uso por uma compilação Xcode ou Xamarin.iOS subsequente.
Instalar Perfil Apple (Pré-visualização) é uma nova tarefa de compilação para instalar perfis de provisionamento no agente para serem usados numa compilação subsequente com Xcode ou Xamarin.iOS.
As tarefas de compilação do MSBuild, Xamarin.Android e Xamarin.iOS agora oferecem suporte à criação com o conjunto de ferramentas do Visual Studio para Mac.
Aprimoramentos de cobertura de código Java
A tarefa de Publicar Resultados de Cobertura de Código reporta a cobertura de código Cobertura ou JaCoCo como parte do processo de compilação. Agora suporta a especificação de curingas e padrões de minimatch nos campos Arquivo de Resumo e Diretório de Relatório, permitindo que os ficheiros e diretórios sejam resolvidos em cada construção, cujos caminhos mudam entre construções.
Melhorias no Maven e no SonarQube
A tarefa de construção do Maven agora permite especificar um projeto SonarQube para resultados de análise nos casos em que ele difere do especificado no arquivo de pom.xml do Maven.
Integração melhorada com Jenkins
A tarefa de compilação/liberação do Jenkins Queue Job agora oferece suporte à execução de trabalhos de pipeline multibranch do Jenkins enquanto exibe a saída do console Jenkins no Team Services (Figura 49). Os resultados do pipeline são publicados no resumo da compilação do Team Services.
Implantação do escalonamento de máquinas virtuais do Azure
Um padrão comum usado para implantação é criar uma imagem de máquina completa para cada versão do aplicativo e, em seguida, implantá-la. Para tornar isso mais fácil, temos uma nova tarefa de imagem de máquina imutável Build . Esta tarefa usa o Packer para gerar uma imagem de máquina após a implantação de aplicativos e todos os pré-requisitos necessários. A tarefa usa o script de implantação ou o modelo de configuração do empacotador para criar a imagem da máquina e armazena-a em uma conta de Armazenamento do Azure. Essa imagem pode ser usada para implantações de conjuntos de dimensionamento para máquinas virtuais do Azure que funcionam bem com esse tipo de implantação de imagem imutável.
Sobrescrever parâmetros de modelo em implementações de grupo de recursos do Azure
Atualmente, nas tarefas de implantação do grupo de recursos do Azure, os usuários selecionam o template.json e o parameters.json e fornecem os valores de parâmetro de substituição em uma caixa de texto, seguindo uma sintaxe específica. Essa experiência agora é aprimorada para que os parâmetros do modelo sejam renderizados em uma grade que permite que eles sejam editados e substituídos (Figura 50). Você pode acessar esta funcionalidade clicando no ... ao lado do campo de parâmetros de substituição, o que abre uma caixa de diálogo com os parâmetros do modelo, juntamente com seus valores padrão e valores permitidos (se definidos nos ficheiros de modelo e de parâmetro .json). Esse recurso requer que você habilite as regras CORS na origem. Se os arquivos de modelo e parâmetros .json estiverem no blob de armazenamento do Azure, consulte a documentação dos Serviços de Armazenamento do Azure para ativar o CORS.
Vários gatilhos de liberação com filtros de ramificação e tag
O gerenciamento de versões agora suporta a configuração de gatilhos de CD em várias fontes de artefatos do tipo "Build". Quando adicionada, uma nova versão é criada automaticamente quando uma nova versão de artefato está disponível para qualquer uma das fontes de artefato especificadas. Você também pode especificar a ramificação de origem de onde a nova compilação deve ser feita para iniciar um lançamento. Além disso, os filtros de etiquetas podem ser configurados para filtrar ainda mais os builds que devem iniciar uma publicação.
Definir padrões para fontes de artefatos em uma versão
Os usuários podem definir a versão padrão do artefato a ser implantada em uma versão ao vincular uma fonte de artefato em uma definição (Figura 51). Quando um lançamento é criado automaticamente, a versão padrão de todas as fontes de artefatos será implantada.
Separação de funções para solicitantes e aprovadores de implantação
Anteriormente, os proprietários de ambientes podiam impedir que os criadores de versões aprovassem a implementação de uma versão num ambiente. No entanto, você pode iniciar manualmente a implantação de uma versão criada por outro usuário e aprová-la você mesmo.
Agora, preenchemos essa lacuna considerando o criador da implantação como uma função de usuário separada para implantações. O criador da versão ou o criador da implantação pode ser impedido de aprovar as implantações.
Aprovações de nível de versão
Agora você pode optar por aprovar automaticamente implantações que foram acionadas automaticamente após a implantação bem-sucedida em outro ambiente (Figura 52). A aprovação de uma cadeia de implantações (que têm os mesmos aprovadores) pode ser feita de uma só vez se você optar por não aprovar todas as implantações.
No caso em que você tem dois ambientes Dev e Test, com os aprovadores de pré-implantação definidos como "userA" e "userB", com ambos necessários para aprovar a implantação. Se a política em Test for definida como mostrado abaixo, durante a implantação, os utilizadores userA e userB só precisam de aprovar Dev. A implantação para teste será aprovada automaticamente. Se a implementação para Teste for acionada manualmente, as aprovações serão necessárias antes da implementação para garantir que as aprovações estão corretas.
Implantar na Nuvem Azure para o Governo
Os clientes com subscrições do Azure em Nuvens Governamentais podem agora configurar o ponto de extremidade do serviço Azure Resource Manager para direcionar nuvens nacionais.
Definir o número máximo de implantações paralelas
Esse recurso oferece controle sobre como várias versões pendentes são implantadas em um determinado ambiente (Figura 54). Por exemplo, se o pipeline de liberação executar a validação de compilações em um ambiente de QA e a taxa de geração de compilações for mais rápida do que a taxa de conclusão das implantações, você poderá configurar vários agentes e outras tantas compilações para serem validadas em paralelo. Isso significa que cada uma das compilações geradas é validada e o tempo de espera depende do número de agentes disponíveis. Com esse recurso, permitimos otimizar as validações, permitindo que você execute a validação nas n compilações mais recentes em paralelo e cancele as solicitações de implantação mais antigas.
Melhorias no tempo de espera na tarefa de Intervenção Manual
A tarefa de Intervenção Manual agora pode ser automaticamente rejeitada ou retomada após estar pendente durante o tempo limite especificado ou 60 dias, o que ocorrer primeiro. Você pode especificar o valor de tempo limite na seção de opções de controle da tarefa.
Execução paralela do Release Management
O Release Management agora oferece suporte a uma opção de execução paralela para uma fase (Figura 55). Selecione esta opção para expandir uma fase usando Multiconfiguração ou Multiagente como multiplicador de fase.
Multiconfiguração: Selecione esta opção para executar a fase para cada valor de multiconfiguração. Por exemplo, se pretenderes implantar em duas localizações geográficas diferentes ao mesmo tempo, usar uma variável ReleasePlatform definida no separador Variáveis com os valores "east-US, west-US" executaria a fase em paralelo, uma com o valor "east-US" e outra com o valor "west-US". Multiagente: selecione esta opção para executar a fase com uma ou mais tarefas em vários agentes em paralelo.
Histórico de implantação do aplicativo Web no portal do Azure
O gerenciamento de versão agora atualiza os logs de implantação do Serviço de Aplicativo do Azure quando uma implantação é concluída usando a tarefa de implantação do Serviço de Aplicativo. Você pode exibir o histórico de implantação no portal do Azure selecionando a opção Entrega contínua na folha Serviço de Aplicativo .
Melhorias nos testes
Executar testes usando as fases dos agentes
Usando a tarefa de teste do Visual Studio, agora você pode executar testes automatizados usando as fases do agente (Figura 56).
Agora temos um agente de automação unificado em toda a compilação, lançamento e teste. Isto traz os seguintes benefícios:
- Você pode aproveitar um pool de agentes para suas necessidades de teste.
- Execute testes em modos diferentes usando a mesma tarefa de teste do Visual Studio, com base em suas necessidades — execução baseada em agente único, execução de teste distribuído baseada em vários agentes ou uma execução de várias configurações para executar testes em, digamos, navegadores diferentes.
Para obter mais informações, consulte esta postagem do Microsoft Application Lifecycle Management .
Acionamento sob demanda de testes automatizados
O hub de teste agora suporta o acionamento de casos de teste automatizados a partir de planos de teste e conjuntos de testes (Figura 57). A execução de testes automatizados a partir do hub de teste precisará de uma configuração semelhante à maneira como você executa testes de forma programada em ambientes de versão. Você precisará configurar um ambiente na definição de versão usando o modelo Executar testes automatizados a partir de planos de teste e associar o plano de teste para executar os testes automatizados. Consulte a documentação para obter orientações passo a passo sobre como configurar ambientes e executar testes automatizados a partir do hub de teste .
Melhorias no armazém
Melhorias de desempenho no processamento de cubos do Analysis Services
Fizemos melhorias de desempenho na vista vDimWorkItemTreeOverlay, que é usada para criar a dimensão Hierarquia da Árvore de Item de Trabalho baseada nos links. Embora dependa de ligações do tipo System.LinkTypes.Hierarchy, observámos que a duração do processamento também foi afetada por outras ligações (por exemplo, System.LinkTypes.Related). Otimizamos a exibição para ignorar tipos de link de adição que limitam a quantidade de dados lidos. Esta alteração diminui significativamente o tempo de processamento de determinados armazéns.
Reconciliação de esquema sem diferenciação de maiúsculas e minúsculas
O esquema do banco de dados do armazém é criado fundindo campos dos bancos de dados das coleções anexadas no processo de conciliação de esquemas. Anteriormente, todas as comparações diferenciavam maiúsculas de minúsculas e os administradores tinham que se certificar de que havia uma correspondência exata nos nomes de referência de campo. Isso levou a problemas onde havia diferenças sutis no invólucro. Com esta versão, tornamos o processo mais tolerante a tais discrepâncias.
Melhorias na administração
Destinatários de e-mail combinados para notificações
Os destinatários da mesma notificação por e-mail agora são incluídos juntos na linha para: e enviaram um único e-mail. Anteriormente, e-mails individuais eram enviados para cada destinatário. Isso tornou difícil saber quem mais recebeu a notificação e ter uma conversa sobre o evento por e-mail. Este recurso aplica-se a assinaturas padrão e de equipa que são capazes de direcionar vários destinatários. Por exemplo, todos os revisores de uma solicitação pull agora recebem um único e-mail quando uma alteração é feita na solicitação pull.
Saiba mais sobre como combinar destinatários de e-mail.
Notificações prontas para uso
Os usuários e as equipes agora são notificados automaticamente por e-mail quando há atividade na conta diretamente relevante para eles, como quando:
- Um item de trabalho é atribuído a um usuário.
- Um usuário ou equipe é adicionado como revisor a uma solicitação pull.
- Um usuário ou equipe é um revisor em uma solicitação pull que é atualizada.
- Outro utilizador responde a um comentário de pull request.
- Uma compilação solicitada por um usuário é concluída.
- Uma extensão é instalada ou solicitada (somente administradores).
Os utilizadores podem cancelar a subscrição de qualquer uma destas subscrições acedendo a Definições de notificação no menu de perfil de utilizador e, em seguida, desligando a(s) opção(ões) apropriada(s).
Um administrador de conta pode desativar uma ou mais dessas assinaturas automáticas navegando até o hub de Notificações no nível da coleção na engrenagem de configurações. Qualquer uma dessas assinaturas pode ser desativada clicando em Desativar sob o botão "..." ação. Quando uma assinatura for desativada, ela não aparecerá mais para os usuários na página de configurações de notificação pessoal.
Saiba mais sobre notificações prontas para uso.
Permissões de gerenciamento de extensões
Um administrador agora pode conceder a outros usuários e grupos permissão para gerenciar extensões para a coleção (Figura 58). Anteriormente, apenas os administradores de coleção (ou seja, membros do grupo Administradores de Coleção de Projetos) podiam analisar solicitações de extensão, instalar, desabilitar ou desinstalar extensões.
Para conceder essa permissão, um administrador pode navegar até o hub de administração de extensões abrindo o menu do Marketplace, selecionando Gerenciar extensões e clicando no botão Segurança:
Ser notificado sobre quando extensões são instaladas, quando requerem atenção e muito mais
Os administradores, ou aqueles com a capacidade de gerenciar extensões, agora são notificados automaticamente quando uma extensão é instalada, desinstalada, habilitada, desativada ou requer atenção. Isso é especialmente útil em implantações maiores, onde várias pessoas têm a responsabilidade de gerenciar extensões. Os administradores podem desativar essas notificações navegando até Configurações de notificação no menu de perfil e desativando as extensões.
Os administradores também podem definir assinaturas personalizadas para eventos relacionados a extensões. Por exemplo, um administrador pode ser notificado sempre que qualquer extensão for atualizada.
Os usuários também podem desativar as notificações automáticas sobre suas solicitações de extensão.
Permitindo que os administradores do TFS adicionem assinantes ao nível de acesso avançado
O nível de acesso avançado será removido de versões futuras do Team Foundation Server. No entanto, até que isso aconteça, os administradores do TFS têm a capacidade de adicionar assinantes da plataforma MSDN e do Visual Studio Test Professional ao nível de acesso avançado com a Atualização 2.
Os assinantes do Visual Studio Enterprise devem ser adicionados ao nível de acesso do Visual Studio Enterprise em vez de Avançado. Se você comprou a extensão do Test Manager, continue a gerenciá-la no hub Usuários dentro do Projeto de Equipe que você fez a compra.
Integração com o Microsoft Teams
As organizações que usam o Microsoft Teams para colaborar agora podem ver a atividade de seus projetos do TFS nos canais da equipe. Isso permite que as equipes se mantenham informadas sobre alterações relevantes de itens de trabalho, solicitações pull, compilações e versões e muito mais enquanto trabalham no Microsoft Teams. Para obter mais informações, consulte nossa documentação .
Problemas conhecidos
Formulários de item de trabalho não são renderizados corretamente na Web
Problema:
Se você tiver um controle personalizado, como o controle de vários valores, instalado para o cliente do Visual Studio, mas não para o cliente Web, os formulários de item de trabalho na Web não serão renderizados.
Solução:
Você precisará atualizar para a versão mais recente do seu controle. É necessário adicionar um layout da Web que não contenha o elemento de controle ausente. Você pode encontrar o controlo multi-valor mais recente para o TFS 2017 Update na página Controles personalizados para rastreio de itens de trabalho do TFS. Para mais informações sobre o layout, consulte a página Referência de Todos os Elementos XML do FORM (TFS 2015).
A versão do TFS é RC2 em vez da versão final
Problema:
Depois de baixar o TFS 2017 Update 2 antes de 1º de agosto de 2017 e instalar, você tem uma versão RC2.
Solução:
Isso ocorreu devido a um problema intermitente nos links de instalação corrigidos em 1º de agosto de 2017. Faça o download novamente do TFS 2017 Update 2 e instale esta versão final.
Consulte os problemas relatados por clientes para o Team Foundation Server 2017.
Comentários & 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.