Já falamos anteriormente sobre CI e CD e a importância deste processo de Integração Contínua no seu time de desenvolvimento. Quando este processo evolui, aumenta a complexidade em gerenciar Builds, por isso da necessidade do uso de conditional  execution. O VSTS trabalha com Conditional Task que é a configuração de condições na execução de uma task, por exemplo no processo de Build e Release.

Podemos adicionar na fase de release pipeline (control options de cada tarefa), uma condição na qual a tarefa executará:

  • Only when all previous tasks have succeeded
  • Even if a previous task has failed, unless the build or release was canceled
  • Even if a previous task has failed, even if the build was canceled
  • Only when a previous task has failed
  • Custom conditions

A configuração inicial é na pipeline do Build adicionar em Run this task a conditional task desejada. Veja que no exemplo abaixo utilizamos a condição referente a “Run for the master branch, if succeeding”, em caso de sucesso de execução na branch Master, o script configurado, apenas para mostrar a mensagem “Hello World” será exibida:

A condição no custom conditions utilizada foi:
and(succeeded(), eq(variables[‘Build.SourceBranch’], ‘refs/heads/master’))

vsts-condition-task-configuration

Após a execução do Build, veja que o resultado apresentado no Log é a mensagem  “Hello World” configurada no Script (passo anterior), indicando que execução na branch Master foi bem sucedida.

vsts-condition-task

É isso! Vale ler mais informações sobre as expressões condicionais que podem ser utilizada no site da Microsoft.