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
- Publicar o estado neutro no GitHub quando uma compilação é ignorada
- O acesso a todos os pipelines está desativado por predefinição nos recursos protegidos
- Injetar tarefas antes ou depois das tarefas de destino especificadas com um decorador
- Anúncio de uma agenda de preterição para imagens alojadas no Windows 2016
- Anúncio de descontinuação de imagens alojadas no macOS 10.14
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:
Verifique os 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.
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.
Também pode obter conselhos e as suas perguntas respondidas pela comunidade no Stack Overflow.
Obrigado,
Vijay Machiraju