Suporte ao GitHub Enterprise e conexões automáticas do serviço GitHub em pipelines de compilação - Atualização do Sprint 146

Na Atualização do Sprint 146 do Azure DevOps, melhoramos nossa integração do GitHub com o Azure Pipelines. O assistente Novo pipeline de compilação já pode criar pipelines para os repositórios do GitHub Enterprise. Além disso, analisa o seu repositório para fornecer um modelo de linguagem sugerida. Além disso, ele pode criar e reutilizar conexões de serviço para os repositórios do GitHub selecionados.

Confira a lista de recursos abaixo para saber mais.

Funcionalidades

Geral:

Quadros do Azure:

Azure Pipelines:

Artefactos do Azure:

Wiki:

Geral

Restaurar projetos eliminados

Nesta atualização, adicionamos a capacidade de restaurar projetos excluídos do portal do Azure DevOps. Se você tiver a permissão "excluir projeto", também poderá restaurar um projeto excluído na página Visão geral das configurações > da organização.

Azure Boards

Simplificar a organização do seu trabalho com o processo Básico

Importante

O processo Básico está em pré-visualização pública como o processo padrão para novos projetos dentro de novas organizações criadas na região dos EUA Central.

Historicamente, o Agile tem sido o processo padrão para novos projetos, oferecendo um conjunto robusto e flexível de tipos e estados de itens de trabalho para atender a uma variedade de métodos de entrega de projetos. Para algumas equipes, que estão mais familiarizadas com outras ferramentas ou que estão crescendo e querem adotar um conjunto de ferramentas mais poderoso, querem começar rapidamente a usar terminologia com a qual estão mais familiarizadas.

O novo processo Básico fornece três tipos de item de trabalho (Épicos, Problemas e Tarefas) para planejar e acompanhar seu trabalho. Recomendamos que você use Problemas para rastrear coisas como histórias de usuários, bugs e recursos enquanto usa Epics para agrupar Problemas em unidades maiores de trabalho. À medida que você avança em seu trabalho, mova os itens ao longo de um fluxo de trabalho de estado simples de Fazer, Fazer e Concluído.

Organize work using the Basic process.

Consulte a documentação de acompanhamento de problemas e tarefas para ajudá-lo a começar com seu novo projeto.

Pipelines do Azure

Suporte para o GitHub Enterprise no assistente do pipeline

Anteriormente, você podia usar o designer visual para criar pipelines para repositórios do GitHub Enterprise. Agora, você também pode usar o assistente Novo pipeline de compilação para criar seus pipelines.

GitHub Enterprise support in the pipeline wizard.

O assistente analisa o repositório do GitHub Enterprise para sugerir um modelo YAML que corresponda ao idioma do projeto. Em seguida, você pode editar e salvar o YAML como uma confirmação direta para sua ramificação padrão ou como uma solicitação pull.

Edit and save the YAML.

Para obter mais detalhes, consulte a documentação sobre como criar seu primeiro pipeline aqui.

Ligações automáticas do serviço do GitHub em pipelines

Ao usar o assistente Novo pipeline de compilação para criar um pipeline para o GitHub, a página para escolher ou criar uma conexão de serviço do GitHub levou à confusão sobre qual conexão selecionar na lista. Agora, você não precisa escolher uma conexão. O assistente cria e reutiliza automaticamente uma conexão de serviço para o repositório escolhido.

Se desejar escolher manualmente uma conexão diferente daquela que é selecionada automaticamente, siga o hiperlink Escolher conexão . Para obter mais detalhes, consulte Criar repositórios do GitHub.

Nota

A seleção é baseada no Aplicativo GitHub do Azure Pipelines (se estiver instalado no repositório) ou na sua identidade pessoal do GitHub (usando OAuth).

Apresentar o estado de cada trabalho de pipeline nas Verificações do GitHub

Anteriormente, um único status de compilação era postado no GitHub Checks para seu pipeline, mesmo que incluísse trabalhos para várias plataformas (por exemplo, Linux, macOS e Windows). Agora, o status é postado no GitHub Checks para cada trabalho no pipeline. Além disso, você pode executar novamente toda a compilação ou apenas trabalhos individuais com falha nas Verificações do GitHub. Para usar essa funcionalidade, seu pipeline deve ser configurado para usar o Aplicativo GitHub do Azure Pipelines. Para obter detalhes adicionais, consulte Integrar usando o aplicativo GitHub. Para configurar um pipeline com trabalhos para várias plataformas, consulte Criar um pipeline multiplataforma.

Display status for each pipeline job.

Autorização predefinida para os recursos YAML no GitHub

Se você gerencia seu código-fonte no GitHub e usa o YAML para definir seu pipeline, provavelmente teve uma falha na compilação de autorização de recursos. Quando você editou seu arquivo YAML e adicionou uma referência a um dos recursos protegidos (por exemplo, conexão de serviço, pool de agentes, grupo de variáveis ou arquivo seguro), o Azure Pipelines não pôde validar a identidade do usuário que fez essa alteração e falhou na compilação. Para contornar esse problema, você teve que salvar o pipeline de compilação no editor da Web depois de fazer uma alteração no arquivo YAML. Muitos dos usuários que atingiram esse problema simplesmente queriam permitir que todos os pipelines usassem o recurso.

Para evitar a falha na compilação de autorização de recursos, alteramos o comportamento padrão de todas as novas conexões de serviço, pools de agentes e grupos de variáveis a serem autorizados para uso em todos os pipelines. Se quiser controles mais rígidos sobre seus recursos, você pode desativar o modelo de autorização padrão (veja a figura abaixo). Quando você fizer isso, alguém com permissões para usar o recurso deve salvar o pipeline no editor da Web depois que uma referência de recurso é adicionada ao arquivo YAML.

Default authorization for YAML resources.

Contentores de serviço para pipelines YAML

Anteriormente, você tinha que instalar, iniciar e parar serviços como bancos de dados ou caches de memória se seu pipeline YAML estivesse usando esses serviços. Com esta atualização, adicionamos contêineres de serviço que podem lidar com essas tarefas. Por exemplo, se o pipeline usa um cache redis para testes de integração, você pode incluir a imagem do contêiner redis como um serviço no pipeline. O agente irá buscar automaticamente a imagem, iniciá-la e interligá-la em rede para que as etapas do pipeline possam se referir a ela pelo nome de host redis. Quando o pipeline estiver concluído, o agente irá girar o contêiner de serviço de forma limpa.

Itens de trabalho ligados a consolidações do GitHub no Resumo de Versão

Em dezembro, introduzimos a capacidade de vincular compromissos do GitHub a itens de trabalho. Temos o prazer de anunciar que agora você pode ver todos os itens de trabalho do Azure Boards vinculados a confirmações do GitHub na página de resumo da versão. Isso ajudará as equipes a rastrear e recuperar mais informações sobre as confirmações que foram implantadas em um ambiente.

Novas tarefas do Serviço de Aplicativo do Azure otimizadas para YAML

Agora damos suporte a quatro novas tarefas que fornecem uma maneira fácil, mas poderosa, de implantar os Serviços de Aplicativo do Azure com desenvolvedores modernos em mente. Essas tarefas têm uma sintaxe YAML otimizada, tornando simples e intuitivo criar implantações para o Azure AppServices, incluindo WebApps, FunctionApps, WebApps for Containers e FunctionApp for Containers em plataformas Windows e Linux.

Também suportamos uma nova tarefa de utilitário para transformação de arquivos e substituição de variáveis para formatos XML e JSON.

Suporte de autenticação do Azure Ative Directory (AD) para a tarefa SQL do Azure

A tarefa SQL do Azure foi aprimorada para dar suporte à conexão a um banco de dados usando o Azure AD (Integrated & Password) e uma cadeia de conexão, além do suporte existente para autenticação do SQL Server.

Azure AD authentication support for Azure SQL task.

Hook do serviço de anotações do Grafana

Agora oferecemos suporte a um novo gancho de serviço que permite adicionar anotações do Grafana para eventos de Implantação Concluída a um painel do Grafana. Isso permite correlacionar implantações com as alterações nas métricas de aplicativo ou infraestrutura que estão sendo visualizadas em um painel do Grafana.

Grafana annotations service hook.

Consultar as tarefas dos alertas do Azure Monitor

A versão anterior da tarefa Query Azure Monitors dava suporte a alertas de consulta somente na experiência de monitoramento clássica. Com esta nova versão da tarefa, você pode consultar alertas sobre a experiência de monitoramento unificada recentemente introduzida pelo Azure Monitor.

Query Azure Monitor alerts tasks.

Entrada inline do ficheiro de especificações na tarefa Implementar no Kubernetes

Anteriormente, a tarefa de implantação do Kubernetes exigia que você fornecesse um caminho de arquivo para a configuração. Agora você também pode adicionar a configuração em linha.

Inline input of spec file in Deploy to Kubernetes task.

Tarefa Instalador da CLI do Docker

Esta tarefa permite a instalação de qualquer versão da CLI do Docker nos agentes, conforme especificado pelo usuário.

Docker CLI Installer task.

Suporte de longo prazo (LTS) para Java nos agentes alojados da Microsoft

Anteriormente, os agentes hospedados pela Microsoft tinham JDKs pré-instalados que estavam sobrecarregados por licenciamento complexo, restrições de usuário final e falta de suporte a longo prazo. Nesta atualização, substituímos os JDKs por compilações LTS testadas e certificadas do OpenJDK da Azul Systems. Os desenvolvedores Java que usam o Azure agora podem criar e executar aplicativos Java de produção usando as compilações Zulu Enterprise do OpenJDK da Azul Systems sem incorrer em custos adicionais de suporte.

Esta nova oferta foi projetada para tornar as compilações e implantações Java hospedadas pela Microsoft sem preocupações, incorporando atualizações de segurança trimestrais e correções de bugs, bem como atualizações e patches críticos fora de banda, conforme necessário. Se você estiver criando ou executando aplicativos Java no local ou com outros JDKs, considere mudar para o Zulu no Azure para obter suporte e manutenção gratuitos. Para obter mais informações, consulte o blog Microsoft e Azul Systems trazem suporte gratuito a Java LTS para o Azure.

Suporte para YAML para os pipelines Bitbucket Cloud

Anteriormente, os pipelines baseados em YAML não suportavam Bitbucket Cloud. Agora, você pode usar o YAML para definir seus pipelines do Bitbucket Cloud ou usar o designer visual para fazer o mesmo. Para usar YAML, adicione um arquivo azure-pipelines.yml ao repositório. No Azure Pipelines, escolha Novo pipeline de compilação e, em seguida, selecione Usar o hiperlink do designer visual, selecione "Bitbucket Cloud" e "YAML". Aqui você pode inserir o caminho para o arquivo YAML do seu repositório.

Para obter mais detalhes, consulte o guia de sintaxe YAML e o repositório GitHub de exemplos YAML.

Evitar o acionamento de várias compilações CI para pedidos Pull

Os modelos de compilação do YAML incluídos no Azure Pipelines foram configurados para acionar compilações para qualquer ramificação dentro de um repositório. Isso incluiu ramificações de tópico de solicitação pull. Como resultado, duas compilações foram acionadas quando solicitações pull foram criadas. Uma compilação para a ramificação de solicitação pull em resposta ao gatilho de integração contínua e uma segunda compilação para a ramificação de solicitação pull em resposta ao gatilho de solicitação pull.

Usando o trecho YAML abaixo, os modelos YAML integrados serão configurados para disparar uma compilação de integração contínua apenas para a ramificação principal . Novas solicitações pull ainda serão criadas usando o gatilho de pull request. Para obter mais detalhes, consulte a documentação para gatilhos de pipeline de compilação.

trigger:
- main

Alterar números de compilação e carregar e transferir artefactos em compilações de repositório de fork

Até agora, as compilações de validação de solicitação pull para repositórios bifurcados não tinham permissão para carregar e baixar artefatos de compilação ou alterar o número da compilação. As permissões eram restritas porque era inseguro disponibilizar as permissões de escopo mais amplo do agente durante uma compilação de bifurcação acionada por um usuário desconhecido. Com essa atualização, as permissões do agente têm escopo para que seu pipeline possa executar essas operações, se necessário.

Abaixo está um exemplo do YAML que você pode usar para arquivar saídas de compilação em um arquivo tar.gz no diretório de preparo do artefato. Em seguida, ele publica a saída no Azure Pipelines a ser associada à compilação. Para obter mais detalhes, consulte a documentação sobre a tarefa Arquivar arquivos e a tarefa Publicar artefatos de compilação.

- task: ArchiveFiles@2
  inputs:
    archiveType: 'tar'
    tarCompression: 'gz'
    includeRootFolder: false
    rootFolderOrFile: '$(build.sourcesDirectory)/target'
    archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(build.artifactStagingDirectory)'

Nova opção na tarefa Publicar Resultados do Teste para a compilação com falhas nos testes falhados

A tarefa Publicar Resultados de Teste é usada para publicar resultados de teste no Azure Pipelines quando os testes são executados usando sua escolha de executor de teste. Até agora, a tarefa simplesmente publicava os resultados de um arquivo de resultados e não falhava na compilação, mesmo que o arquivo de resultados contivesse testes com falha. Isso significava que você tinha que escrever etapas personalizadas para que a compilação falhasse em falhas de teste.

Agora adicionamos uma opção na tarefa para falhar na compilação se houver algum teste com falha.

Fail the build if there are any failed tests.

Atualizações no Portal do Azure para criar um projeto do Azure DevOps

O Portal do Azure agora inclui funcionalidade adicional para dar suporte a mais estruturas e serviços ao criar um projeto de DevOps do Azure. Abaixo está a lista de alterações para cada área.

Estrutura

O Azure IoT é um serviço totalmente gerenciado que fornece inteligência de nuvem localmente em dispositivos IoT multiplataforma. Agora, você pode criar um projeto de DevOps do Azure a partir do Portal do Azure e usar o Simple IoT como a estrutura do aplicativo.

Use the Simple IoT as the application framework.

Serviço

Anteriormente, o fluxo de trabalho Criar Projeto de DevOps do Azure no Portal do Azure suportava apenas Criar Novo como uma opção para o Serviço Kubernetes. Uma nova opção foi adicionada para permitir que você escolha um cluster existente como o destino de implantação para a configuração do pipeline.

Choose an existing cluster as the deployment target for the pipeline setup.

Usar o Portal do Azure para configurar e implantar em um banco de dados do CosmosDB

Atualmente, você pode usar o fluxo de trabalho do Projeto de DevOps do Azure no Portal do Azure para configurar pipelines de compilação e liberação para um repositório Git. Agora, você pode implantar no Aplicativo Web do Azure para Contêineres (Linux) ou no Serviço Kubernetes do Azure com um CosmosDB provisionado como um banco de dados que dá suporte aos aplicativos nesses destinos. Isso está atualmente disponível para todos os modelos .js nó e esperamos adicionar suporte para outros modelos no futuro.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

Configurar compilações e liberar pipelines para Functions no Portal do Azure

Agora você pode usar o fluxo de trabalho do Projeto de DevOps do Azure no Portal do Azure para configurar pipelines de compilação e liberação para o repositório Git que implantam o Azure Functions 2.0 (Windows). Esta funcionalidade está disponível para Node.js e .NET Core.

Set up builds and release pipelines for Functions in Azure portal.

Artefactos do Azure

Estatísticas de utilização de pacotes

Até agora, os Artefatos do Azure não forneciam uma maneira de avaliar o uso ou a popularidade dos pacotes. Com esta atualização, adicionámos uma contagem de Transferências e Utilizadores à lista de pacotes e às páginas de detalhes do pacote. Você pode ver as estatísticas no lado direito de qualquer página.

Package usage stats.

Wiki

Fonte monoespaçada para o editor Wiki Markdown

Com a introdução de fontes monoespaçadas para o editor wiki Markdown, a legibilidade não é mais um desafio. A fonte Markdown parece limpa e fácil de ler. Este recurso foi priorizado com base neste ticket de sugestão.

Monospaced font for Wiki Markdown editor.

Títulos de páginas Wiki em negrito

Anteriormente, tanto o título da página Wiki quanto o Cabeçalho 1 pareciam iguais. Isso dificultou a diferenciação entre eles. Agora, os títulos das páginas Wiki foram tornados negritos e distintos do Cabeçalho 1. Este recurso foi priorizado com base neste ticket de sugestão.

Bold Wiki page titles.

Inserir tabela Markdown

Criar tabelas Markdown em um wiki não é mais um desafio. Agora você pode adicionar uma tabela Markdown com um clique de um botão. Esse recurso foi priorizado com base neste tíquete de sugestão de recurso.

Insert Markdown table.

Incorporar resultados da consulta Azure Boards no Wiki

Agora você pode incorporar os resultados da consulta do Azure Boards em uma página wiki na forma de uma tabela. A imagem abaixo mostra uma amostra de uma página wiki com uma lista de todos os recursos lançados e todos os bugs ativos no sprint atual incorporado no wiki. O conteúdo exibido na página está usando uma consulta de item de trabalho existente. Com este novo recurso você pode criar conteúdo dinâmico e não precisa se preocupar em atualizar manualmente a página wiki.

Embed Azure Boards query results in Wiki.

Os resultados da consulta podem ser adicionados em duas etapas

  1. Clique no botão "Resultados da consulta" na barra de ferramentas de edição.

Select the Query Results button from the edit toolbar.

  1. Selecione a consulta necessária e clique no botão "Inserir".

Os resultados da consulta agora podem ser visualizados na forma de uma tabela depois de salvar a página.

View results of the query.

Isso foi priorizado com base nas seguintes sugestões de recursos:

  1. Consultas de Item de Trabalho no Wiki
  2. Adicionar conteúdo Wiki dinâmico

Próximos passos

Nota

Esses recursos serão lançados nas próximas duas a três semanas.

Leia sobre os novos recursos abaixo e vá para o Azure DevOps para experimentá-los por si mesmo.

Como fornecer feedback

Gostaríamos muito de ouvir o que você pensa sobre esses recursos. Use o menu de comentários para relatar um problema ou fornecer uma sugestão.

Make a suggestion

Você também pode obter conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.

Obrigado,

Jeremy Epling