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.
Caraterísticas
- Publicar estado neutro no GitHub quando uma compilação é ignorada
- O acesso a todos os pipelines é desativado por padrão em recursos protegidos
- Injetar tarefas antes ou depois de tarefas de destino especificadas usando um decorador
- Anunciando um cronograma de substituição para imagens hospedadas do Windows 2016
- Anunciando a descontinuação das imagens hospedadas do macOS 10.14
Publicar o status neutro no GitHub quando uma compilação é ignorada
Com o Azure Pipelines, você sempre pode validar uma solicitação pull no GitHub. Você também pode especificar quais caminhos no seu repositório GitHub devem desencadear um pipeline. Por exemplo, o pipeline seguinte é acionado quando uma alteração é enviada por push para a ramificação code, mas não é acionado quando uma alteração é enviada por push para a pasta docs.
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 for concluído, o sistema Azure Pipelines publicará um status de volta ao GitHub. Caso existissem políticas de proteção de branches em vigor para o seu repositório do GitHub, o status postado pelo Azure Pipelines determinaria se o pull request seria integrado.
No exemplo acima, se você fez uma alteração no docs, o GitHub atualmente bloqueia a solicitação pull aguardando que um status seja retornado pelo Azure Pipelines. No entanto, o Azure Pipelines não executa uma compilação de validação, pois esse caminho é excluído do gatilho, impossibilitando a conclusão da solicitação pull. Os clientes que configuram gatilhos de exclusão de caminho ou vários pipelines para um único repositório do GitHub geralmente enfrentam esse desafio.
No futuro, o Azure Pipelines publicará um neutral status de volta ao GitHub quando decidir não executar uma compilação de validação devido a uma regra de exclusão de caminho. Isso fornecerá uma direção clara para o GitHub, indicando que o Azure Pipelines concluiu seu processamento.
Vista de conversação:
Confira os detalhes:
O acesso a todos os pipelines é desativado por padrão em recursos protegidos
Um pipeline YAML pode contar com um ou mais recursos protegidos. Conexões de serviço, pools de agentes, grupos de variáveis, arquivos seguros e repositórios são exemplos de recursos protegidos, uma vez que um administrador desse recurso pode controlar quais pipelines têm acesso a esse recurso. Os administradores usam o painel de configurações de segurança do recurso para habilitar ou desabilitar pipelines.
Quando você cria um desses recursos, a experiência padrão concede acesso a todos os pipelines, a menos que você o desative explicitamente. De agora em diante, para melhorar a postura geral de segurança, o padrão será definido para negar o acesso a todos os pipelines. Para conceder acesso a todos os pipelines, basta ativar a opção no assistente de criação ou após a criação do recurso.
Injetar tarefas antes ou depois de tarefas de destino especificadas usando um decorador
Os decoradores são uma maneira de injetar tarefas automaticamente em um pipeline. Eles são comumente usados por equipes centrais em uma organização para executar automaticamente os procedimentos de conformidade necessários. Os decoradores podem ser usados 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 tarefa, no final de cada tarefa, ou logo após uma tarefa de check-out. Para controlar isso, especifique um target na seção de contribuição da extensão do decorador, conforme descrito aqui. Estamos agora a expandir a lista de alvos 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
Aqui está um exemplo de um decorador que injeta uma tarefa antes de cada instância de uma tarefa PublishPipelineArtifacts 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 um cronograma de descontinuação para imagens hospedadas do Windows 2016
Recentemente, disponibilizamos o Windows 2022 como uma imagem hospedada. Com o próximo fim do suporte base para o Windows 2016 em janeiro de 2022, estamos desativando vs2017-win2016 imagens a partir de 15 de novembro. A aposentadoria completa desta imagem está prevista para março de 2022. Como esta é uma imagem comumente usada, queríamos avisar e dar tempo suficiente para fazer as alterações necessárias em seus pipelines.
Consulte nossa postagem no blog detalhando como encontrar todos os projetos e pipelines usando a imagem hospedada do Windows 2016 e as etapas que você pode seguir para migrar para versões mais recentes.
Anunciando a descontinuação das imagens hospedadas do macOS 10.14
Recentemente, disponibilizámos o macOS-11 como uma imagem alojada. Como resultado, desativaremos a imagem do macOS-10.14 em dezembro de 2021. As compilações que dependem dessa imagem falharão quando ela for preterida. Você pode encontrar mais detalhes sobre a depreciação de várias imagens em nossa postagem no blog.
Próximos passos
Observação
Esses recursos serão lançados nas próximas duas a três semanas.
Vá até o Azure DevOps e dê uma olhada.
Como fornecer feedback
Gostaríamos muito de ouvir o que você pensa sobre esses recursos. Use o menu Ajuda para relatar um problema ou fornecer uma sugestão.
Você também pode obter conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.