ansible 之 block

Posted 看,未来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible 之 block相关的知识,希望对你有一定的参考价值。

当我们想在满足一个条件下,执行多个任务时,就需要分组了。而不再每个任务都要用when。

  tasks: 
   - block:
     - command: echo 1
     - shell: echo 2
     - raw: echo 3
     when: ansible_distribution == 'CentOS'

错误处理

tasks:
  - block:
      - debug: msg='i execute normally'
      - command: /bin/false
      - debug: msg='i never execute, cause ERROR!'
    rescue:
      - debug: msg='I caught an error'
      - command: /bin/false
      - debug: msg='I also never execute :-('
    always:
      - debug: msg="this always executes"

block中的任务在执行中,如果有任何错误,将执行rescue中的任务。 无论在block和rescue中发生或没有发生错误,always部分都运行。

以上是关于ansible 之 block的主要内容,如果未能解决你的问题,请参考以下文章

ansible-playbook之block

ansible之block实践--自动根据centos版本安装zabbix-agent

Ansible 日常使用技巧 (下)

ansible之条件判断

ansible-playbook之条件判断

Ansible 自动化运维工具之when条件语句