У меня есть простой Groovy-скрипт для установки агентов на мои серверы с помощью Ansible.
После запуска конвейера я получаю сообщение об ошибке
ERROR: script returned exit code 4 Finished: FAILURE
Ошибка возникает из-за того, что у меня не запущено два экземпляра (я не хочу, чтобы они работали), и я получаю от них connection time out
.
Есть ли способ заставить Дженкинса игнорировать такие ошибки?
Пожалуйста, добавьте код конвейера в вопрос.
Не столь идеальным решением было бы просто указать ignore_unreachable: yes
в верхней части вашего playbook.
Это не идеальный вариант, потому что вы рискуете пропустить недоступные хосты, которые вам небезразличны.
Возможно, лучшим решением было бы изящно завершить эти недоступные хосты в задаче meta
на основе списка хостов, которые вам не нужны.
Например:
- hosts: localhost, ok-if-down
gather_facts: no
pre_tasks:
- ping:
ignore_unreachable: yes
register: ping
- meta: end_host
when:
- inventory_hostname in _possibly_unreachable_hosts
- ping is unreachable
vars:
_possibly_unreachable_hosts:
- ok-if-down
## add more host(s) name in this list, here
tasks:
## here goes your current tasks
При запуске код выхода этого плейбука будет 0
:
$ ansible-playbook play.yml; echo "Return code is $?"
PLAY [localhost, ok-if-down] **************************************************
TASK [ping] *******************************************************************
fatal: [ok-if-down]: UNREACHABLE! => changed=false
msg: 'Failed to connect to the host via ssh: ssh: Could not resolve hostname ok-if-down: Name does not resolve'
skip_reason: Host ok-if-down is unreachable
unreachable: true
ok: [localhost]
TASK [meta] *******************************************************************
skipping: [localhost]
TASK [meta] *******************************************************************
PLAY RECAP ********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ok-if-down : ok=0 changed=0 unreachable=1 failed=0 skipped=1 rescued=0 ignored=0
Return code is 0
Пожалуйста, публикуйте журналы, код или что-то подобное в блоках кода в теле самого вопроса, а не в виде экрана печати. Изображения должны быть зарезервированы для вещей, которые невозможно описать словами. См. Как спросить