处理Ansible plabook退出代码的Jenkins状态故障

daolsyd0  于 2023-01-16  发布在  Jenkins
关注(0)|答案(1)|浏览(190)

希望用Ansible处理Linux上的系统重启&将其作为剧本的一部分与其他要求沿着运行。
看到退出代码为4 &由于Jenkins作业导致失败,尽管它已重新启动计算机。
是否有一种方法可以通过从Jenkins调用ansible剧本或从剧本内部处理此失败。
除了普通的reboot:任务之外,我甚至尝试了下面这样的东西,但仍然没有运气。请建议处理这个问题的替代方法。

- name: Reboot the machine
  shell: |
    shutdown -r now && exit 0 
  ...
  ....

错误如下所示

Reboot the machine ---------------------------------------- 1.02s
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 4
Finished: FAILURE
ohfgkhjo

ohfgkhjo1#

根据给定的描述、任务和错误消息

ERROR: script returned exit code 4

错误本身意味着错误代码4 EINTRInterrupted system call或甚至Network Error在您的示例中,Ansible连接的设备将比Ansible更快地重新启动,并且模块shell可以保持自己的连接。
你可以试试

- name: Schedule reboot in 1 min
  shell:
    cmd: "shutdown -r +1"
  register: result

- name: Show result
  debug:
    var: result

或者更好是reboot module – Reboot a machine

进一步阅读

关于过去Linux系统使用的一种方法

以及

相关问题