2016-09-12 7 views
2

У меня есть работа jenkins, которая выполняет скрипт оболочки. Последний шаг сценария оболочки - удаление изображений докеров, которые находятся на сервере (кроме используемых изображений). Это моя команда:Jenkins job: ignore error

set +x 
docker rmi `docker images -aq` 

выход:

Error response from daemon: conflict: unable to delete 69a777edb6dc (must be forced) - image is referenced in one or more repositories 
Error response from daemon: conflict: unable to delete 69a777edb6dc (must be forced) - image is referenced in one or more repositories 
Error response from daemon: conflict: unable to delete d9d7acd2e160 (cannot be forced) - image is being used by running container 4e5ba6ffeaf0 

Как я в состоянии игнорировать ошибки (потому что это нормально) + скрытие вывод команды? (Попытался установить + х, но не помогло)

ответ

2

Использование

docker 2>/dev/null 1>&2 rmi `docker images -aq` || true 
1

Оно должно быть:

докер 2>/DEV/нуль RMI docker images -aq | правда

(только один трубопровод)

+0

Nice - Я не знаю, трюк с трубопроводами в 'true':) Это больно читаемость немного, хотя. –

+0

Плюс, результат зависит от среды: 'set -o pipefail; false | правда ; echo $? 'дает' 1', а не '0'. –