Partilhar via


Post neutral status to GitHub on validation runs with path exclusion rule (Publicar o estado neutro no GitHub em execuções de validação com a regra de exclusão de caminho)

Com esta atualização, incluímos várias atualizações para os Pipelines do Azure. Nos pipelines YAML, estamos a definir negar o acesso a todos os pipelines como a predefinição para recursos protegidos. Além disso, o Azure Pipelines publicará um estado neutro no GitHub quando decidir não executar uma compilação de validação devido a uma regra de exclusão de caminho.

Consulte as seguintes descrições de funcionalidades para obter detalhes.

Nota

A 28 de setembro de 2021, o Azure DevOps foi notificado pela Axosoft de uma vulnerabilidade numa dependência do seu popular cliente de GUI do git – GitKraken. Consulte a mensagem do blogue para saber mais detalhes.

Pipelines do Azure

Pipelines do Azure

Publicar o estado neutro no GitHub quando uma compilação é ignorada

Com o Azure Pipelines, pode sempre validar um pedido Pull no GitHub. Também pode especificar os caminhos no seu repositório do GitHub que devem acionar um pipeline. Por exemplo, o pipeline seguinte é acionado quando uma alteração é enviada para code o main ramo, mas não é acionada quando uma alteração é enviada para a docs pasta.

trigger: none

pr:
 branches:
   include:
     - main
 paths:
   include:
     - code
   exclude:
     - docs

pool:
  vmImage: ubuntu-latest

steps:
- script: echo Hello, world!
  displayName: 'Run a one-line script'

Quando o pipeline estiver concluído, o Azure Pipelines publicará um estado novamente no GitHub. Se tiver políticas de proteção de ramificação em vigor para o seu repositório do GitHub, o estado publicado pelo Azure Pipelines determinou se o pedido Pull seria intercalado.

No exemplo acima, se tiver feito uma alteração ao docs, o GitHub bloqueia atualmente o pedido Pull à espera que um estado seja devolvido pelos Pipelines do Azure. No entanto, o Azure Pipelines não executa uma compilação de validação, uma vez que esse caminho é excluído do acionador, impossibilitando a conclusão do pedido Pull. Os clientes que configuram acionadores de exclusão de caminhos ou vários pipelines para um único repositório do GitHub enfrentaram frequentemente este desafio.

Daqui para a frente, o Azure Pipelines publicará um neutral estado no GitHub quando decidir não executar uma compilação de validação devido a uma regra de exclusão de caminho. Isto fornecerá uma direção clara para o GitHub que indica que o Azure Pipelines concluiu o processamento.

Vista de conversação:

Vista de conversação

Verifique os detalhes:

Verificar detalhes

O acesso a todos os pipelines está desativado por predefinição nos recursos protegidos

Um pipeline YAML pode depender de um ou mais recursos protegidos. As ligações de serviço, os conjuntos de agentes, os grupos de variáveis, os ficheiros seguros e os repositórios são exemplos de recursos protegidos, uma vez que um administrador desse recurso pode controlar os pipelines que têm acesso a esse recurso. Os administradores utilizam o painel de definições de segurança do recurso para ativar ou desativar pipelines.

Quando cria um destes recursos, a experiência predefinida concede acesso a todos os pipelines, a menos que o desative explicitamente. Para melhorar a postura de segurança geral, a predefinição está a ser definida para negar o acesso a todos os pipelines. Para conceder acesso a todos os pipelines, basta ativar o botão de alternar na experiência de criação ou após a criação do recurso.

Nova ligação de serviço do Azure

Injetar tarefas antes ou depois das tarefas de destino especificadas com um decorador

Os decoradores são uma forma de injetar tarefas automaticamente num pipeline. Normalmente, são utilizados por equipas centrais numa organização para executar automaticamente os procedimentos de conformidade necessários. Os decoradores podem ser utilizados com compilações clássicas, versões clássicas ou pipelines YAML.

Atualmente, uma tarefa pode ser injetada através de um decorador no início de cada trabalho, no final de cada trabalho, ou logo após uma tarefa de dar saída. Para controlar esta situação, especifique uma target na secção de contribuição da extensão do decorador, conforme descrito aqui. Estamos agora a expandir a lista de destinos para incluir o seguinte:

ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks

Eis um exemplo de um decorador que injeta uma tarefa antes de cada instância de uma PublishPipelineArtifacts tarefa num pipeline.

{
    "manifestVersion": 1,
    "contributions": [
        {
            "id": "my-required-task",
            "type": "ms.azure-pipelines.pipeline-decorator",
            "targets": [
                "ms.azure-pipelines-agent-job.pre-task-tasks"
            ],
            "properties": {
                "template": "my-decorator.yml",
                "targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
            }
        }
    ],
    "files": [
        {
            "path": "my-decorator.yml",
            "addressable": true,
            "contentType": "text/plain"
        }
    ]
}

Anúncio de uma agenda de preterição para imagens alojadas no Windows 2016

Recentemente, disponibilizámos o Windows 2022 como uma imagem alojada. Com o próximo fim do suporte base para o Windows 2016 em janeiro de 2022, vamos preterir imagens a vs2017-win2016 partir de 15 de novembro. A descontinuação completa desta imagem está prevista para março de 2022. Uma vez que esta é uma imagem frequentemente utilizada, queríamos dar-lhe aviso prévio e tempo suficientes para fazer as alterações necessárias aos pipelines.

Veja a nossa publicação de blogue com detalhes sobre como encontrar todos os projetos e pipelines com a imagem alojada do Windows 2016 e os passos que pode seguir para migrar para versões mais recentes.

Anúncio de descontinuação de imagens alojadas no macOS 10.14

Recentemente, disponibilizámos o macOS-11 como uma imagem alojada. Como resultado, vamos preterir a imagem do macOS-10.14 em dezembro de 2021. As compilações que dependem desta imagem falharão assim que esta for preterida. Pode encontrar mais detalhes sobre a descontinuação de várias imagens da nossa publicação de blogue.

Passos seguintes

Nota

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

Aceda ao Azure DevOps e dê uma vista de olhos.

Como fornecer comentários

Gostaríamos de saber o que pensa sobre estas funcionalidades. Utilize o menu de ajuda 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,

Vijay Machiraju