Jenkins ERROR: script returned exit code 4
Jenkins ERROR: script returned exit code 4
我得到了一个简单的 Groovy 脚本来使用 Ansible 在我的服务器上安装代理。
在我 运行 管道之后,我得到关于
的错误
ERROR: script returned exit code 4
Finished: FAILURE
错误发生是因为我有两个实例不是 运行ning(我不想要它们 运行ning)并且我从它们那里得到 connection time out
。
有没有办法让 Jenkins 忽略此类错误?
not-so-ideal 解决方案是在您的剧本顶部声明 ignore_unreachable: yes
。
这并不理想,因为您可能会错过您关心的无法访问的主机。
一个可能更好的解决方案是根据您不需要的主机列表在 meta
任务中优雅地结束那些无法访问的主机和 运行ning。
例如:
- 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
我得到了一个简单的 Groovy 脚本来使用 Ansible 在我的服务器上安装代理。
在我 运行 管道之后,我得到关于
ERROR: script returned exit code 4 Finished: FAILURE
错误发生是因为我有两个实例不是 运行ning(我不想要它们 运行ning)并且我从它们那里得到 connection time out
。
有没有办法让 Jenkins 忽略此类错误?
not-so-ideal 解决方案是在您的剧本顶部声明 ignore_unreachable: yes
。
这并不理想,因为您可能会错过您关心的无法访问的主机。
一个可能更好的解决方案是根据您不需要的主机列表在 meta
任务中优雅地结束那些无法访问的主机和 运行ning。
例如:
- 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