API de visualização YAML aprimorada & configuram fonte upstream para pacotes universais
Neste sprint, estamos lançando um novo endpoint de API que permite recuperar o corpo YAML finalizado. Também temos o prazer de anunciar que estamos adicionando a capacidade de configurar sua fonte upstream para pacotes universais com esta versão.
Confira a lista de recursos abaixo para obter detalhes.
Funcionalidades
Azure Boards
- Tipos de itens de trabalho do sistema em registos de tarefas pendentes e quadros
- Evento de registo de auditoria
- Limite do repositório de aplicações do GitHub para o Azure Boards gerado (pré-visualização privada)
- Personalizar o estado do item de trabalho quando o pedido Pull for intercalado (pré-visualização privada)
Pipelines do Azure
- Anúncios de imagens de pipelines
- Carregamentos de registos do agente melhorados
- Montar opcionalmente volumes de contentores só de leitura
- Controlo otimizado para início/paragem de contentores
- Deszipar grupos de tarefas para cada passo
- Melhor a segurança das versões ao restringir o âmbito dos tokens de acesso
- Melhoramentos da API de pré-visualização do YAML
Artefactos do Azure
- Configurar as origens dos Universal Packages
- Atualização da API REST da Versão dos Pacotes agora disponível para pacotes do Maven
Azure Boards
Tipos de itens de trabalho do sistema em registos de tarefas pendentes e quadros
Iniciamos uma visualização privada de um recurso que permite adicionar um tipo de item de trabalho do sistema ao nível de lista de pendências escolhido. Historicamente, esses tipos de item de trabalho só estavam disponíveis a partir de consultas.
Processo | Tipo de Item de Trabalho |
---|---|
Ágil | Problema |
Scrum | Impedimento |
CMMI | Pedido de Alteração |
Problema | |
Rever | |
Risco |
Estamos felizes em anunciar que o recurso está agora fora da pré-visualização e disponível para todas as organizações. Adicionar um tipo de item de trabalho do sistema a um nível de lista de pendências é simples. Basta entrar no seu processo personalizado e clicar na guia Níveis de lista de pendências. Selecione o nível de escolha da sua lista de pendências (exemplo: Lista de requisitos em atraso) e escolha a opção de edição. Em seguida, adicione o tipo de item de trabalho.
Evento de registo de auditoria
Adicionamos um novo evento aos logs de auditoria para ajudar os clientes a rastrear melhor as alterações relacionadas ao processo. Um evento será registrado sempre que os valores em uma lista de opções forem alterados. As alterações nos campos da lista de opções geralmente são as alterações mais comuns feitas em um processo. Com este novo evento, os administradores da organização podem controlar melhor quando e quem fez alterações nesses campos.
Limite do repositório de aplicações do GitHub para o Azure Boards gerado (pré-visualização privada)
Se você estiver usando o aplicativo Azure Boards do mercado GitHub, há um limite de 100 repositórios do GitHub aos quais você pode se conectar. Isso se torna um bloqueador para grandes organizações que podem ter mais de 100 repositórios. Neste sprint, alterámos a forma como o Azure Boards se liga aos seus repositórios GitHub para suportar mais de 100. Se você estiver atingindo o limite de 100 repos, informe-nos e podemos habilitar o recurso para aumentar esse limite e desbloqueá-lo. Por favor, envie-nos um e-mail diretamente com o nome da sua organização (dev.azure.com/{organization}).
Personalizar o estado do item de trabalho quando o pedido Pull for intercalado (pré-visualização privada)
Nem todos os fluxos de trabalho são iguais. Alguns clientes desejam fechar seus itens de trabalho relacionados quando uma solicitação pull é concluída. Outros querem definir os itens de trabalho para outro estado para serem validados antes de fechar. Devemos permitir ambos.
A partir do sprint 174, temos um novo recurso que permite definir os itens de trabalho para o estado desejado quando a solicitação pull é mesclada e concluída. Para fazer isso, verificamos a descrição da solicitação pull e procuramos o valor do estado seguido pelo #mention do(s) item(ns) de trabalho. Neste exemplo, estamos definindo duas histórias de usuário como Resolvidas e fechando duas tarefas.
Este recurso já vem de muito tempo e estamos animados para ver o que você pensa. Para começar, estamos apenas verificando a descrição da solicitação pull e não incluindo nenhuma alteração na interface do usuário. Queríamos receber o seu feedback antes de investir mais.
Se estiver interessado em participar na pré-visualização privada, envie-nos um e-mail diretamente. Não se esqueça de incluir a sua organização (dev.azure.com/{organization}).
Pipelines do Azure
Anúncios de imagens de pipelines
Nota
As imagens do Azure Pipelines são atualizadas continuamente em um esforço para fornecer aos usuários a melhor experiência possível. Estas atualizações de rotina destinam-se predominantemente a resolver bugs ou software desatualizado. Muitas vezes, não terão impacto nos seus gasodutos, no entanto, nem sempre é esse o caso. Seu pipeline pode ser afetado se depender de um software que foi removido ou atualizado na imagem.
Para saber mais sobre as próximas atualizações em nossas imagens para Windows, Linux e macOS, leia os seguintes anúncios:
Para ver as notas de versão das alterações futuras (pré-lançamento) e implementadas, subscreva as seguintes notas de versão:
Carregamentos de registos do agente melhorados
Quando um agente para de se comunicar com o servidor do Azure Pipelines, o trabalho que estava sendo executado é abandonado. Se por acaso você estava olhando para os logs do console de streaming, você pode ter obtido algumas pistas sobre o que o agente estava fazendo antes de parar de responder. Mas se você não estava, ou se você atualizou a página, esses logs do console desapareceram. Com esta versão, se o agente parar de responder antes de enviar seus logs completos, manteremos os logs do console como a próxima melhor coisa. Os logs do console são limitados a 1000 caracteres por linha e ocasionalmente podem estar incompletos, mas são muito mais úteis do que não mostrar nada! Examinar esses logs pode ajudá-lo a solucionar problemas de seus próprios pipelines, e certamente ajudará nossos engenheiros de suporte quando eles ajudarem na solução de problemas.
Montar opcionalmente volumes de contentores só de leitura
Quando você executa um trabalho de contêiner no Azure Pipelines, vários volumes que contêm o espaço de trabalho, tarefas e outros materiais são mapeados como volumes. Esses volumes usam como padrão o acesso de leitura/gravação. Para maior segurança, você pode montar os volumes somente leitura alterando a especificação do contêiner no YAML. Cada chave em mountReadOnly
pode ser definida como true
somente leitura (o padrão é false
).
resources:
containers:
- container: example
image: ubuntu:18.04
mountReadOnly:
externals: true
tasks: true
tools: true
work: false
Controlo otimizado para início/paragem de contentores
Em geral, recomendamos que você permita que o Azure Pipelines gerencie o ciclo de vida de seus contêineres de trabalho e serviço. No entanto, em alguns cenários incomuns, você pode querer começar e pará-los você mesmo. Com esta versão, incorporamos esse recurso à tarefa do Docker.
Aqui está um exemplo de pipeline usando o novo recurso:
resources:
containers:
- container: builder
image: ubuntu:18.04
steps:
- script: echo "I can run inside the container (it starts by default)"
target:
container: builder
- task: Docker@2
inputs:
command: stop
container: builder
# if any step tried to run in the container here, it would fail
Além disso, incluímos a lista de contêineres em uma variável de pipeline, Agent.ContainerMapping
. Você pode usar isso se quiser inspecionar a lista de contêineres em um script, por exemplo. Ele contém um objeto JSON stringified mapeando o nome do recurso ("builder" do exemplo acima) para o ID do contêiner que o agente gerencia.
Deszipar grupos de tarefas para cada passo
Quando o agente executa um trabalho, ele primeiro baixa todos os pacotes de tarefas exigidos pelas etapas do trabalho. Normalmente, para desempenho, ele descompacta as tarefas uma vez por trabalho, mesmo que a tarefa seja usada em várias etapas. Se você tiver preocupações sobre código não confiável alterando o conteúdo descompactado, você pode trocar um pouco de desempenho fazendo com que o agente descompacte a tarefa em cada uso. Para habilitar esse modo, passe --alwaysextracttask
ao configurar o agente.
Melhor a segurança das versões ao restringir o âmbito dos tokens de acesso
Com base em nossa iniciativa de aprimorar as configurações de segurança para o Azure Pipelines, agora damos suporte à restrição do escopo de tokens de acesso para versões.
Cada trabalho executado em versões recebe um token de acesso. O token de acesso é usado pelas tarefas e pelos seus scripts para chamar de volta para o Azure DevOps. Por exemplo, usamos o token de acesso para obter código-fonte, baixar artefatos, carregar logs, resultados de teste ou fazer chamadas REST no Azure DevOps. Um novo token de acesso é gerado para cada trabalho e expira quando o trabalho é concluído.
Com esta atualização, nos baseamos em melhorar a segurança do pipeline, restringindo o escopo dos tokens de acesso e estendendo o mesmo para versões clássicas.
Esse recurso estará ativado por padrão para novos projetos e organizações. Para organizações existentes, você deve habilitá-lo em Configurações de pipelines de configurações > da > organização. > Limite o escopo de autorização de trabalho ao projeto atual para pipelines de versão. Saiba mais aqui.
Melhoramentos da API de pré-visualização do YAML
Alguns sprints atrás, introduzimos a capacidade de visualizar o YAML completo de um pipeline sem executá-lo. Com esta atualização, criámos um novo URL dedicado para a funcionalidade de pré-visualização. Agora você pode POST para https://dev.azure.com/{org}/{project}/_apis/pipelines/{pipelineId}/preview
recuperar o corpo YAML finalizado. Essa nova API usa os mesmos parâmetros que enfileirar uma execução, mas não requer mais a permissão "Queue builds".
Artefactos do Azure
Configurar as origens dos Universal Packages
Agora você pode configurar seus feeds de Artefatos do Azure para baixar automaticamente Pacotes Universais de fontes upstream sob demanda.
Anteriormente, você podia configurar fontes upstream em seu feed para pacotes NuGet, Python, Maven e npm, mas não para Pacotes Universais. Isso ocorreu devido a uma diferença na tecnologia de armazenamento usada para Pacotes Universais, que suportam pacotes muito maiores do que outros tipos de pacotes suportados.
Agora você pode configurar fontes upstream para Pacotes Universais da mesma forma que para outros tipos de pacotes; abra as configurações do feed, clique em Fontes upstream - Adicionar fonte upstream ->> e escolha o tipo de fonte certo para você. Você verá Pacotes Universais (UPack) como uma nova opção na próxima visualização (veja a imagem abaixo). Para obter mais informações, consulte a documentação de configuração de fontes upstream.
Observe que os Pacotes Universais em fontes upstream só são suportados entre feeds na mesma Organização de DevOps.
Atualização da API REST da Versão dos Pacotes agora disponível para pacotes do Maven
Agora você pode usar a API REST "Versão do Pacote de Atualização" dos Artefatos do Azure para atualizar as versões do pacote Maven. Anteriormente, você podia usar a API REST para atualizar versões de pacotes para NuGet, Maven, npm e Pacotes Universais, mas não pacotes Maven.
Para atualizar pacotes Maven, use o comando HTTP PATCH da seguinte maneira.
PATCH
https://pkgs.dev.azure.com/{organization}/{project?}/\_apis/packaging/feeds/{feedId}/maven/groups/{groupId}/artifacts/{artifactId}/versions/{packageVersion}?api-version=5.1-preview.1
Você pode definir o seguinte:
Parâmetros de URI
Nome | In | Necessário | Tipo | Descrição |
---|---|---|---|---|
artifactId | path | TRUE | string | ID do artefato do pacote |
feed | path | TRUE | string | Nome ou ID do feed |
groupId | path | TRUE | string | ID de grupo do pacote |
organização | path | TRUE | string | O nome da organização do Azure DevOps |
versão | path | TRUE | string | Versão do pacote |
projeto | path | string | ID do projeto ou nome do projeto | |
api-version | query | TRUE | string | Versão da API a ser usada. Isso deve ser definido como '5.1-preview.1' para usar esta versão da api |
Órgão do Pedido
Nome | Tipo | Descrição |
---|---|---|
vistas | JsonPatchOperation | A vista à qual a versão do pacote será adicionada |
Para obter mais informações, consulte a documentação da API REST à medida que ela é atualizada.
Próximos passos
Nota
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.
Obrigado,
Aaron Hallberg