with_* 關鍵字,例如 with_items 來運作迴圈。ansible 2.6 版後官方推薦 loop 關鍵字代替 with_*,一般而言,關鍵字 with_* 大多可用 loop 代替,兩者差異及迴圈詳細用法請參考 ansible 官方文件。
ceuser@deyu:~/ansible_pb$ vi deploy2.yml
ceuser@deyu:~/ansible_pb$ cat deploy2.yml
---
- hosts: dev
tasks:
- name: install package
ansible.builtin.dnf:
name: "{{item}}"
state: latest
loop:
- php
- mariadb
ceuser@deyu:~/ansible_pb$ ansible-playbook deploy2.yml PLAY [dev] ********************************************************************** TASK [Gathering Facts] ********************************************************** ok: [kvm11] TASK [install package] ********************************************************** ok: [kvm11] => (item=php) changed: [kvm11] => (item=mariadb) PLAY RECAP ********************************************************************** kvm11 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
ceuser@deyu:~/ansible_pb$ cat deploy2a.yml
---
- hosts: dev
tasks:
- name: install package
ansible.builtin.dnf:
name:
- php
- mariadb
state: latest
ceuser@deyu:~/ansible_pb$ ansible-playbook deploy2a.yml PLAY [dev] ********************************************************************* TASK [Gathering Facts] ********************************************************* ok: [kvm11] TASK [install package] ********************************************************* ok: [kvm11] PLAY RECAP ********************************************************************* kvm11 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0