Foram resolvidos vários pedidos da Comunidade de Programadores
Em resposta aos seus comentários, atribuímos prioridade a várias funcionalidades que pediu na Comunidade de Programadores. Em Pipelines, adicionámos suporte para a função de divisão de cadeias na expressão YAML. Além disso, estamos agora a permitir que desative a apresentação da última mensagem de consolidação para uma execução de pipeline. Nos Planos de Entrega, aumentámos o limite de equipa de 15 para 20.
Consulte as notas de versão para obter detalhes.
Azure Boards
- Aumentar o limite de equipa dos Planos de Entrega de 15 para 20
- Correção do erro nas Ligações de Itens de Trabalho de Relatórios Obter API
- Correções de erros do Hub de Novos Quadros
Pipelines do Azure
- Desativar a apresentação da última mensagem de consolidação para uma execução de pipeline
- Recursos consumidos e parâmetros de modelo na API Rest de Execuções de Pipelines
- Adicionar suporte para a função divisão de cadeias em expressões de modelo YAML
- Não sincronizar etiquetas ao obter um repositório git
- Agenda de brownout atualizada para imagens do Ubuntu 18.04
Azure Boards
Aumentar o limite de equipa dos Planos de Entrega de 15 para 20
Os Planos de Entrega permitem-lhe ver vários atrasos e várias equipas na sua organização. Anteriormente, podia ver 15 registos pendentes de equipas, incluindo uma combinação de registos pendentes e equipas de diferentes projetos. Neste sprint, aumentámos o limite máximo de 15 para 20.
Correção do erro nas Ligações de Itens de Trabalho de Relatórios Obter API
Corrigimos um erro nas Ligações de Item de Trabalho de Relatórios Obter API para devolver o valor remoteUrl correto para System.LinkTypes.Remote.Related
tipos de ligação. Antes desta correção, estávamos a devolver o nome da organização errado e um ID do projeto em falta.
Correções de erros do Hub de Novos Quadros
Neste sprint, corrigimos vários erros para o Hub de Novos Quadros. Pode ver uma lista de correções de erros no Hub de Novos Quadros, publicação de blogue de atualização do Sprint 209.
Pipelines do Azure
Desativar a apresentação da última mensagem de consolidação para uma execução de pipeline
Anteriormente, a IU dos Pipelines utilizada para mostrar a última mensagem de consolidação ao apresentar a execução de um pipeline.
Esta mensagem pode ser confusa, por exemplo, quando o código do pipeline YAML se encontra num repositório diferente daquele que contém o código que está a criar. Ouvimos o seu feedback da Comunidade de Programadores a pedir-nos uma forma de ativar/desativar a anexação da mensagem de consolidação mais recente para o título de cada execução de pipeline.
Com esta atualização, adicionámos uma nova propriedade YAML, denominada appendCommitMessageToRunName
, que lhe permite fazer exatamente isso. Por predefinição, a propriedade está definida como true
. Quando o definir como false
, a execução do pipeline só apresentará o BuildNumber
.
Recursos consumidos e parâmetros de modelo na API Rest de Execuções de Pipelines
A API REST de Execuções de Pipelines Expandidos devolve agora mais tipos de artefactos utilizados por uma execução de pipeline e os parâmetros utilizados para acionar essa execução. Melhorámos a API para devolver os container
recursos e pipeline
e os parâmetros de modelo utilizados numa execução de pipeline. Agora pode, por exemplo, escrever verificações de conformidade que avaliam os repositórios, contentores e outras execuções de pipeline utilizadas por um pipeline.
Eis um exemplo do novo corpo de resposta.
"resources":
{
"repositories":
{
"self":
{
"repository":
{
"id": "e5c55144-277b-49e3-9905-2dc162e3f663",
"type": "azureReposGit"
},
"refName": "refs/heads/main",
"version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
},
"MyFirstProject":
{
"repository":
{
"id": "e5c55144-277b-49e3-9905-2dc162e3f663",
"type": "azureReposGit"
},
"refName": "refs/heads/main",
"version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
}
},
"pipelines":
{
"SourcePipelineResource":
{
"pipeline":
{
"url": "https://dev.azure.com/fabrikam/20317ad0-ae49-4588-ae92-6263028b4d83/_apis/pipelines/51?revision=3",
"id": 51,
"revision": 3,
"name": "SourcePipeline",
"folder": "\\source"
},
"version": "20220801.1"
}
},
"containers":
{
"windowscontainer":
{
"container":
{
"environment":
{
"Test": "test"
},
"mapDockerSocket": false,
"image": "mcr.microsoft.com/windows/servercore:ltsc2019",
"options": "-e 'another_test=tst'",
"volumes":
[
"C:\\Users\\fabrikamuser\\mount-fabrikam:c:\\mount-fabrikam"
],
"ports":
[
"8080:80",
"6379"
]
}
}
}
},
"templateParameters":
{
"includeTemplateSteps": "True"
}
Adicionar suporte para a função divisão de cadeias em expressões de modelo YAML
Os pipelines YAML fornecem-lhe formas convenientes de reduzir a duplicação de código, como fazer looping através each
do valor de uma lista ou propriedade de um objeto.
Por vezes, o conjunto de itens a iterar é representado como uma cadeia. Por exemplo, quando a lista de ambientes a implementar é definida pela cadeia integration1, integration2
.
À medida que ouvimos o seu feedback da Comunidade de Programadores, ouvimos dizer que queria uma função de cadeia split
em expressões de modelo YAML.
Agora, pode split
uma cadeia e iterar sobre each
as respetivas subcadeias.
variables:
environments: integration1, integration2
jobs:
- job: Deploy
steps:
- ${{ each env in split(variables.environments, ', ') }}:
- script: ./deploy.sh -e ${{ env }}
- script: ./runTest.sh -e ${{ env }}
Não sincronizar etiquetas ao obter um repositório git
A tarefa de finalização de compra utiliza --tags
a opção para obter o conteúdo de um repositório Git. Isto faz com que o servidor obtenha todas as etiquetas, bem como todos os objetos que são apontados por essas etiquetas. Isto aumenta o tempo para executar a tarefa num pipeline, especialmente se tiver um repositório grande com várias etiquetas. Além disso, a tarefa de finalização de compra sincroniza etiquetas mesmo quando ativa a opção de obtenção superficial, o que pode, assim, derrotar o seu objetivo. Para reduzir a quantidade de dados obtidos ou extraídos de um repositório Git, adicionámos agora uma nova opção à tarefa para controlar o comportamento das etiquetas de sincronização. Esta opção está disponível em pipelines clássicos e YAML.
Este comportamento pode ser controlado a partir do ficheiro YAML ou da IU.
Para não sincronizar as etiquetas através do ficheiro YAML, adicione o fetchTags: false
ao passo de finalização da compra. Quando a opção fetchTags
não é especificada, é igual a se fetchTags: true
for utilizada.
steps:
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
clean: boolean # whether to fetch clean each time
fetchTags: boolean # whether to sync the tags
fetchDepth: number # the depth of commits to ask Git to fetch
lfs: boolean # whether to download Git-LFS files
submodules: boolean | recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
path: string # path to check out source code, relative to the agent's build directory (e.g. \_work\1)
persistCredentials: boolean # set to 'true' to leave the OAuth token in the Git config after the initial fetch
Se quiser alterar o comportamento dos pipelines YAML existentes, poderá ser mais conveniente definir esta opção na IU em vez de atualizar o ficheiro YAML. Para navegar para a IU, abra o editor YAML para o pipeline, selecione Acionadores e, em seguida, Processe e, em seguida, o passo Saída.
Se especificar esta definição no ficheiro YAML e na IU, o valor especificado no ficheiro YAML tem precedência.
Para todos os novos pipelines que criar (YAML ou Clássico), as etiquetas continuam sincronizadas por predefinição. Esta opção não altera o comportamento dos pipelines existentes. As etiquetas continuarão a ser sincronizadas nesses pipelines, a menos que altere explicitamente a opção conforme descrito acima.
Agenda de brownout atualizada para imagens do Ubuntu 18.04
O Azure Pipelines está a preterir a imagem do Ubuntu 18.04 (ubuntu-18.04
) nos nossos conjuntos alojados. Esta imagem será descontinuada a 1 de dezembro. Poderá começar a ver tempos de fila mais longos.
Para o ajudar a identificar melhor quais os pipelines que estão a utilizar a imagem ubuntu-18.04, estamos a planear os brownouts. As tarefas falharão durante um período de brownout.
- As mensagens de aviso são apresentadas em execuções de pipeline com a imagem ubuntu-18.04
- Está disponível um script para o ajudar a encontrar pipelines com imagens preteridas, incluindo ubuntu-18.04
- Estamos a agendar "brownouts" curtos. Qualquer execução ubuntu-18.04 falhará durante o período de brownout. Por conseguinte, recomenda-se migrar os pipelines antes dos brownouts.
Agenda do Brownout (atualizado)
- 3 de outubro, 12:00 UTC - 3 de outubro, 14:00 UTC
- 18 de outubro, 14:00 UTC - 18 de outubro, 16:00 UTC
- 15 de novembro, 18:00 UTC - 15 de novembro, 20:00 UTC
- 30 de novembro, 20:00 UTC - 30 de novembro, 22:00 UTC
- 15 de dezembro, 20:00 UTC - 16 de dezembro 00:00 UTC
- 5 de janeiro, 10.00 UTC - 5 de janeiro, 14.00 UTC
- 13 de janeiro, 12.00 UTC - 13 de janeiro, 16.00 UTC
- 18 de janeiro, 14.00 UTC - 18 de janeiro, 18.00 UTC
- 24 de janeiro, 16.00 UTC - 24 de janeiro, 20.00 UTC
- 1 de fevereiro, 18.00 UTC - 1 de fevereiro, 22.00 UTC
- 7 de fevereiro, 16.00 UTC - 7 de fevereiro, 22.00 UTC
- 13 de fevereiro, 14.00 UTC - 13 de fevereiro, 22.00 UTC
- 21 de fevereiro, 10.00 UTC - 21 de fevereiro, 22.00 UTC
- 28 de fevereiro, 10.00 UTC - 28 de fevereiro, 22.00 UTC
- 6 de março, 00.00 UTC - 7 de março, 00.00 UTC
- 13 de março, 00.00 UTC - 14 de março, 00.00 UTC
- 21 de março, 00.00 UTC - 22 de março, 00.00 UTC
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 ouvir 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,
Aaron Hallberg