Partilhar via


Melhorias do YAML nos Pipelines do Azure – Atualização do Sprint 142

Na Atualização do Sprint 142 do Azure DevOps, foram efetuadas várias melhorias ao YAML, como adicionar contadores personalizados às suas compilações, especificar ramos para criar pedidos Pull e utilizar modelos inline. Também ativámos a nova navegação para todos os utilizadores, introduzimos um tema escuro e melhorámos as experiências de ligação e anexos no Azure Boards.

Consulte a lista funcionalidades abaixo para obter mais informações.

Funcionalidades

Geral:

Azure Boards:

Repositórios do Azure:

Azure Pipelines:

Planos de Teste do Azure:

Artefactos do Azure:

Wiki:

Administração:

Geral

A nova navegação está ativada para todos os utilizadores

Ativámos a nossa nova navegação para todos os utilizadores! Este é um marco importante na implementação do nosso novo design de produto. Enquanto movemos todas as pessoas para o novo modelo de navegação com esta versão, os utilizadores continuarão a poder optar ativamente por não participar e utilizar a navegação antiga até 16 de janeiro de 2019. Pode optar ativamente por não participar ao selecionar Funcionalidades de pré-visualização no menu por baixo do seu avatar no canto superior direito de cada página.

Consulte a mensagem de blogue Atualização de Navegação para obter mais informações.

Tema Escuro

Um dos nossos pedidos de funcionalidades de longa data foi oferecer um tema escuro. Temos o prazer de informá-lo de que esta opção está agora disponível como parte da nova navegação. Pode ativar o tema escuro ao selecionar Tema no menu por baixo do seu avatar no canto superior direito de cada página.

Tema escuro

Azure Boards

Organizar materiais de referência com anexos de itens de trabalho mais avançados

Anexar ficheiros a itens de trabalho permite-lhe a si e à sua equipa centralizar materiais de referência para que estejam sempre perto quando precisar deles. Agora é mais fácil adicionar um novo anexo ao arrastar e largar o ficheiro em qualquer parte do formulário do item de trabalho. Pode continuar a ver os anexos como uma lista ou mudar para uma vista de grelha para mostrar uma pré-visualização em miniatura. Faça duplo clique no ficheiro para abrir uma pré-visualização e percorrer as mesmas para encontrar rapidamente as informações de que precisa.

Anexos de itens de trabalho

Gerir dependências através da ligação de itens de trabalho entre as suas organizações

Ligar trabalhos relacionados ou dependentes dá-lhe um contexto mais amplo sobre o trabalho que está a controlar e ajuda-o a gerir dependências com outras equipas. Com ligações para trabalho remoto, agora pode controlar o trabalho em todas as organizações da sua empresa. Basta copiar o URL de um item de trabalho existente, ir para outro item de trabalho e criar uma ligação com um dos três novos tipos de ligação: Consumes From, Produces For e Remote Related. Veja a documentação de ligação de itens de trabalho para obter mais informações sobre a rastreabilidade nos Quadros do Azure.

Nota

As permissões são respeitadas em ambas as organizações do Azure DevOps, que têm de ser apoiadas pelo mesmo inquilino Azure AD.

Ligação remota

À medida que começa a gerir várias dependências, utilize o novo campo Contagem de Ligações Remotas em Consultas para listar os itens de trabalho que têm dependências remotas no projeto ou considere instalar a extensão Dependency Tracker . Esta extensão, criada pelo grupo Windows na Microsoft para satisfazer as suas necessidades de dimensionamento, baseia-se em ligações remotas para apresentar uma hierarquia avançada e uma representação gráfica das suas dependências.

Anteriormente, não era possível abrir um item de trabalho a partir da página de resultados da pesquisa se o painel de pré-visualização do item de trabalho estivesse desativado. Isto dificultaria a análise dos resultados da pesquisa. Agora, pode clicar no título do item de trabalho para abrir os itens de trabalho numa janela modal. Esta funcionalidade foi priorizada pelo UserVoice.

Repositórios do Azure

Os autores da extensão podem consultar o contexto sobre o repositório atual

Um dos desafios para um autor de uma extensão de controlo de versões é obter o contexto do repositório que está a ser apresentado ao utilizador, como o nome, o ID e o URL. Para o ajudar, adicionámos o VersionControlRepositoryService como um serviço acessível por extensões. Com isto, um autor da extensão pode consultar para obter informações sobre o contexto atual do repositório Git na IU da Web. Atualmente, tem um método, getCurrentGitRepository().

  • Se estiver selecionado um repositório Git, é devolvido um objeto GitRepository com dados básicos sobre o repositório (nome, ID e URL)
  • Se estiver selecionado um repositório TFVC ou se o serviço for acedido fora das páginas de Repositórios do Azure, será devolvido um valor nulo.

Eis uma extensão de exemplo que utiliza este serviço.

Pipelines do Azure

Adicionar contadores de compilação personalizados às suas compilações

Os contadores de compilação fornecem uma forma exclusiva de numerar e etiquetar compilações. Anteriormente, poderia utilizar a variável especial $(rev:r) para o fazer. Agora, pode definir as suas próprias variáveis de contador na definição de compilação que são incrementadas automaticamente sempre que executa uma compilação. Pode fazê-lo no separador variáveis de uma definição. Esta nova funcionalidade dá-lhe mais poder das seguintes formas:

  • Pode definir um contador personalizado e definir o respetivo valor de seed. Por exemplo, pode iniciar o contador em 100. $(rev:r) começa sempre em 0.
  • Pode utilizar a sua própria lógica personalizada para repor um contador. $(rev:r) está associado à geração de números de compilação e é reposto automaticamente sempre que existir um novo prefixo no número de compilação.
  • Pode definir vários contadores por definição.
  • Pode consultar o valor de um contador fora de uma compilação. Por exemplo, pode contar o número de compilações que foram executadas desde a última reposição com um contador.

Veja a documentação sobre variáveis definidas pelo utilizador para obter mais informações sobre contadores de compilação.

Utilizar o YAML para especificar ramos a criar para pedidos Pull

Os pipelines YAML podem especificar os ramos a criar para PRs (pedidos Pull). Pode escolher ramos para incluir e excluir. Esta capacidade estava anteriormente disponível na IU da Web. Ao movê-lo para o ficheiro YAML, este torna-se parte do fluxo de trabalho config-as-code.

Um exemplo de utilização de acionadores pr pode ter o seguinte aspeto:

pr:
  branches:
    include:
    - features/*
    exclude:
    - features/experimental/*
  paths:
    include:
    - **/*.cs

steps:
- script: echo My PR build!

Utilizar expressões de modelo YAML inline

Os modelos YAML são uma forma avançada de reutilizar partes de pipelines. Além de considerar o código comum, as expressões de modelo permitem-lhe alterar valores e controlar o YAML incluído. Até agora, uma expressão de modelo tinha de ocupar todo o valor numa expressão YAML. Este exemplo funcionaria porque a expressão é o valor total da propriedade da solução .

- task: msbuild@1
  inputs:
    solution: ${{ parameters.solution }}

Agora, relaxámos a restrição e permitimos modelos inline, como pode ver no exemplo abaixo.

- script: echo The solution file is ${{ parameters.solution }}

Melhorar a resolução de problemas com o registo de inicialização do pipeline

Quando um pipeline é executado, o Azure Pipelines tem de garantir que a definição do pipeline está correta, decidir quais as tarefas a agendar, pedir aos agentes que executem as tarefas e muito mais. Até agora, este processo era completamente opaco, por isso, quando as coisas correram mal, era quase impossível para um cliente resolver o problema. Estamos a introduzir um novo tipo de registo, denominado registo de inicialização do pipeline, que torna estes detalhes visíveis. Pode aceder ao registo de inicialização do pipeline ao selecionar a opção Transferir todos os registos numa compilação concluída.

Retenção predefinida para pipelines YAML

Estamos a trabalhar numa forma de os utilizadores configurarem políticas de retenção para pipelines YAML. Até que esta nova funcionalidade esteja disponível, aumentámos a retenção predefinida para todas as compilações YAML para 30 dias, uma vez que muitos utilizadores querem manter as suas compilações por mais tempo do que a retenção predefinida de 10 dias anterior. Removemos o separador de retenção no editor para pipelines YAML até que o novo modelo esteja implementado.

Criar em plataformas linux/ARM e Windows de 32 bits

O agente multiplataformas open source pipelines do Azure sempre foi suportado em Windows, macOS e Linux de 64 bits (x64). Neste sprint, vamos introduzir duas novas plataformas suportadas: Linux/ARM e Windows/32 bits. Estas novas plataformas permitem-lhe criar plataformas menos comuns, mas não menos importantes, como o Raspberry Pi, um computador Linux/ARM.

Clonar grupos de variáveis

Adicionámos suporte para clonagem de grupos de variáveis. Sempre que quiser replicar um grupo de variáveis e apenas atualizar algumas das variáveis, não precisa de passar pelo processo entediante de adicionar variáveis uma a uma. Agora pode fazer rapidamente uma cópia do grupo de variáveis, atualizar os valores adequadamente e guardá-lo como um novo grupo de variáveis.

Clonar grupo de variáveis

Nota

Os valores das variáveis secretas não são copiados quando clona um grupo de variáveis. Tem de atualizar as variáveis encriptadas e, em seguida, guardar o grupo de variáveis clonadas.

Ver consolidações e itens de trabalho para todas as origens ligadas

Continuando o nosso compromisso para melhorar a rastreabilidade, temos o prazer de anunciar que os clientes podem agora ver os detalhes dos itens de consolidação e trabalho para todos os artefactos ligados ao pipeline. Por predefinição, o item de consolidação e trabalho é comparado com a última implementação à mesma fase. No entanto, pode comparar com qualquer outra implementação anterior, se necessário.

Origens ligadas

Executar a partir do Pacote suportado em implementações de Serviço de Aplicações do Azure

A versão da tarefa de implementação do Serviço de Aplicações do Azure (4.*) suporta agora RunFromPackage (anteriormente denominado RunFromZip).

Serviço de Aplicações suporta várias técnicas diferentes para implementar os seus ficheiros, como msdeploy (também conhecido como WebDeploy), git, ARM e muito mais. Mas todas estas técnicas têm uma limitação. Os seus ficheiros são implementados na pasta wwwroot (especificamente d:\home\site\wwwroot) e o runtime executa os ficheiros a partir daí.

Com Executar a Partir do Pacote, já não existe um passo de implementação que copia os ficheiros individuais para wwwroot. Em vez disso, basta apontá-lo para um ficheiro zip e o zip é montado em wwwroot como um sistema de ficheiros só de leitura. Isto tem várias vantagens:

  • Reduz o risco de problemas de bloqueio de cópia de ficheiros.
  • Pode ser implementado numa aplicação de produção (com reinício).
  • Pode ter a certeza dos ficheiros que estão a ser executados na sua aplicação.
  • Melhora o desempenho das implementações Serviço de Aplicações do Azure.
  • Pode reduzir os tempos de início a frio, especialmente para funções JavaScript com grandes árvores de pacotes npm.

Implementar contentores do Linux com a tarefa Implementar do Servidor de Aplicações

A versão 4.* da tarefa Serviço de Aplicações do Azure Deploy suporta agora a implementação do seu próprio contentor personalizado para Funções do Azure no Linux.

O modelo de alojamento do Linux para Funções do Azure baseia-se em contentores do Docker que trazem maior flexibilidade em termos de empacotamento e aproveitamento de dependências específicas da aplicação. As funções no Linux podem ser alojadas em dois modos diferentes:

  1. Imagem de contentor incorporada: Pode utilizar o código da Aplicação de Funções e o Azure fornece e gere o contentor (modo de imagem incorporado), pelo que não são necessários conhecimentos específicos relacionados com o Docker. Isto é suportado na versão existente da tarefa implementar Serviço de Aplicações.
  2. Imagem de contentor personalizada: Melhorámos a tarefa implementar Serviço de Aplicações para suportar a implementação de imagens de contentor personalizadas para Funções do Azure no Linux. Quando as suas funções precisam de uma versão de linguagem específica ou requerem uma dependência ou configuração específica que não é fornecida na imagem incorporada, pode criar e implementar uma imagem personalizada na Função do Azure no Linux com o Azure Pipelines.

Planos de Teste do Azure

Cliente do Azure Test Runner para executar testes manuais para aplicações de ambiente de trabalho

Agora, pode utilizar o cliente do Azure Test Runner (ATR) para executar testes manuais para aplicações de ambiente de trabalho. Isto irá ajudá-lo a mudar do Microsoft Test Manager para os Planos de Teste do Azure. Veja a nossa documentação de orientação aqui. Com o cliente ATR, pode executar os testes manuais e registar os resultados do teste para cada passo de teste. Também tem capacidades de recolha de dados, como captura de ecrã, registo de ações de imagem e gravação de áudio de vídeo. Se encontrar um problema ao testar, utilize o Test Runner para criar um erro com passos de teste, capturas de ecrã e comentários incluídos automaticamente no erro.

O ATR requer uma transferência e instalação únicas do corredor. Selecione Executar para aplicação de ambiente de trabalho , conforme mostrado abaixo.

Azure Test Runner

Instalação do Azure Test Runner

Artefactos do Azure

Pré-visualização pública dos Artefactos de Pipeline

Estamos a lançar uma pré-visualização pública dos Artefactos de Pipeline, um novo tipo de artefacto altamente dimensionável concebido para utilização com os Pipelines do Azure. Os Artefactos de Pipeline baseiam-se na mesma tecnologia utilizada pela funcionalidade Pacotes Universais recentemente anunciada e podem reduzir drasticamente o tempo necessário para armazenar saídas de compilação para grandes compilações de classe empresarial.

Wiki

Publicar código como wiki com permissões de Contribuição

Anteriormente, apenas os utilizadores com a permissão Criar Repositório num repositório git conseguiram publicar código como wiki. Isto tornou os administradores ou criadores do repositório num estrangulamento para quaisquer pedidos de publicação de ficheiros Markdown alojados em repositórios git como wikis. Agora, pode Publicar código como wiki se apenas tiver a permissão Contribuir no repositório de código.

Administração

Os PATs impõem a CAP

Em fevereiro de 2017, anunciámos o suporte para a Política de Acesso Condicional (CAP) do Azure Active Directory, mas havia uma limitação de que os mecanismos de autenticação alternativos, como tokens de acesso pessoal, não imporiam a CAP. Temos o prazer de anunciar que preenchemos esta lacuna e o Azure DevOps irá agora respeitar as políticas de esgrima IP cap ao utilizar PATs, chaves SSH, credenciais de autenticação alternativas e OAuth. Os administradores não precisam de fazer nada para tirar partido desta funcionalidade. Será automaticamente aplicada a todas as políticas existentes.

Passos seguintes

Nota

Estas funcionalidades serão implementadas nas próximas duas a três semanas.

Leia mais sobre as novas funcionalidades abaixo e aceda ao Azure DevOps para experimentar por si próprio.

Como fornecer comentários

Gostaríamos de saber o que pensa sobre estas funcionalidades. Utilize o menu de comentários para comunicar um problema ou fornecer uma sugestão.

Fazer uma sugestão

Também pode obter conselhos e as suas perguntas respondidas pela comunidade no Stack Overflow.

Obrigado,

Aaron Bjork