Задание Azure DevOps игнорирует ошибку - PullRequest
0 голосов
/ 31 октября 2018

У меня есть следующее в моем azure-pipelines.yml

jobs:
- job: TestifFolder1Exists
  pool:
    vmImage: 'ubuntu-16.04'

  steps:
  - bash: git log -1 --name-only | grep -c Folder1
    failOnStderr: false

- job: Folder1DoesntExist
  pool:
    vmImage: 'ubuntu-16.04'
  dependsOn: TestifFolder1Exists
  condition: failed() 

- job: Folder1DoesExist
  pool:
    vmImage: 'ubuntu-16.04'
  dependsOn: TestifFolder1Exists
  condition: succeeded() 

Я пытаюсь проверить, были ли в папке внесены изменения, поэтому я могу публиковать артефакты из этого каталога.

Проблема, с которой я столкнулся, заключается в том, что если в папку ничего не записано, скрипт завершается с ошибкой Bash exited with code '1'. (это то, что я хочу), что, в свою очередь, приводит к сбою всей сборки.

Если я добавлю continueOnError, то следующие задания всегда запускают выполненное задание.

Как я могу позволить этой работе потерпеть неудачу, не провалив всю сборку?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Существует опция под названием continueOnError. По умолчанию установлено значение false. Измените это на true, и ваша задача не сможет помешать выполнению задания.

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/tasks?view=azure-devops&tabs=yaml#controloptions

0 голосов
/ 31 октября 2018

Я не понял, как игнорировать неудачную работу, но именно так я решил эту конкретную проблему

jobs:
- job: TestifFolder1Exists
  pool:
    vmImage: 'ubuntu-16.04'

  steps:
  - bash: |
      if [ "$(git log -1 --name-only | grep -c Folder1)" -eq 1 ]; then 
        echo "##vso[task.setVariable variable=Folder1Changed]true"
      fi
  - bash: echo succeeded
    displayName: Perform some task
    condition: eq(variables.Folder1Changed, 'true') 

(хотя оказывается, что Azure Devops делает то, что я уже пытался создать здесь - срабатывает фильтр пути!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...