Как пометить задачу как необязательную в GoCD? - PullRequest
1 голос
/ 08 мая 2019

Мне нужно сделать запрос из конвейера, который не является обязательным для агентов на базе Windows и Linux. Запрос может быть не выполнен по любой причине, но конвейер должен продолжаться в любом случае - всегда.

Все CICD-системы, с которыми я работал до сих пор, имеют возможность пометить задачу как необязательную или - более конкретно - игнорировать ошибки:

Пример: https://docs.gitlab.com/ee/ci/yaml/#allow_failure

job1:
  stage: test
  script:
  - execute_script_that_will_fail
  allow_failure: true

У меня нет найдена похожая концепция в GoCD - есть такая, о которой я не знаю?

1 Ответ

1 голос
/ 09 мая 2019

Для этого вы можете использовать атрибут run_if задачи. Требуется passed, failed или any. Пропущено является значением по умолчанию, то есть, только если текущая задача пройдена, она переходит к следующей. Неудача является полной противоположностью этому. Я обычно использую его для настройки утверждений в работе. Любой, в принципе, вас не волнует результат этой задачи. GoCD не подведет, независимо от результата этой задачи в рамках работы.

exec:
  run_if: any
  working_directory: dir
  command: make
  arguments:
   - -j3
   - docs
   - install

Рекомендации

...