Compartilhar via


Azure Pipelines – Atualização do Sprint 248

Características

Novas funções de expressão de pipeline

As funções de expressão de pipeline permitem que você escreva pipelines YAML poderosos. Neste sprint, introduzimos duas novas funções:

  • iif(condition, value_when_true, value_when_false) que retorna value_when_true quando condition é avaliado como true ou value_when_false, por outro lado

  • trim(string) que retorna uma nova cadeia de caracteres na qual os espaços em branco no início e no final da cadeia de caracteres são removidos

Por exemplo, você pode usar a função iif para selecionar dinamicamente um pool para executar o pipeline. Se você quiser criar solicitações de pull usando o pool do Azure Pipelines, mas todas as outras execuções devem usar um pool de DevOps Gerenciado, você pode escrever o pipeline a seguir.

variables:
  poolToUse: ${{ iif(eq(variables['Build.Reason'], 'PullRequest'), 'Azure Pipelines', 'ManagedDevOpsPool')}}

stages:
- stage: build
  pool: ${{variables.poolToUse}}
  jobs:
  - job:
    steps:
    - task: DotNetCoreCLI@2
      inputs:
        command: 'build'

Você pode usar a função trim para tornar seu YAML mais resiliente à entrada do usuário. Por exemplo, no pipeline a seguir, usamos a função trim para garantir que o nome do estágio não comece com espaços em branco.

parameters:
- name: regions
  type: string
  default: '  wus1,   wus2, wus3,wus4'

stages:
- ${{ each region in split(parameters.regions, ',')}}:
  - stage: stage_${{trim(region)}}
    displayName: Deploy to ${{trim(region)}}
    jobs:
    - job: deploy
      steps:
      - script: ./deploy.sh ${{trim(region)}}

Aprimoramentos na tarefa ManualValidation

A tarefa ManualValidation permite pausar uma execução de pipeline e aguardar a intervenção manual. Um cenário para usar essa tarefa é o teste manual.

Para aumentar a segurança do pipeline, convém restringir quem está autorizado a concluir a tarefa e retomar a execução do pipeline. Para esse fim, estamos introduzindo uma nova versão da tarefa que fornece dois parâmetros adicionais:

  • approvers: restringir quem pode concluir a tarefa a um conjunto predefinido de usuários/grupos de segurança/equipes

  • allowApproversToApproveTheirOwnRuns: restringir o usuário que enfileirou a execução do pipeline, impedindo-o de retomá-la

Por exemplo, o seguinte snippet de YAML restringe o conjunto de pessoas que pode retomar a execução do pipeline aos membros do grupo de Aprovadores de Lançamento, mas não inclui o usuário que disparou a execução do pipeline.

- task: ManualValidation@1
  inputs:
    notifyUsers: 'Release Approvers'
    approvers: 'Release Approvers'
    allowApproversToApproveTheirOwnRuns: false

Na propriedade approvers, você pode usar os seguintes valores (vírgula separada) :

  • Endereço eletrônico
  • Grupo de Permissões,
  • Equipe do Projeto
  • [ProjectName]\[Grupo de Permissões],
  • [Org]\[Grupo de Permissões],
  • [ProjectName]\[Equipe do Projeto]

Próximas etapas

Observação

Essas funcionalidades serão lançadas nas próximas duas a três semanas.

Vá até o Azure DevOps e dê uma olhada.

Como fornecer comentários

Adoraríamos ouvir o que você pensa sobre essas características. Use o menu de ajuda para relatar um problema ou fornecer uma sugestão.

Fazer uma sugestão

Você também pode receber conselhos e suas perguntas respondidas pela comunidade no Stack Overflow.