with_* 關鍵字,例如 with_items 來運作迴圈。ansible 2.6 版後官方推薦 loop 關鍵字代替 with_*,一般而言,關鍵字 with_* 大多可用 loop 代替,兩者差異及迴圈詳細用法請參考 ansible 官方文件。
[deyu1@kvm19 ansible]$ vim deploy2.yml
[deyu1@kvm19 ansible]$ cat deploy2.yml
---
- hosts: dev
tasks:
- name: install package
dnf: pkg={{item}} state=latest
loop:
- php
- mariadb
[deyu1@kvm19 ansible]$ 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
[deyu1@kvm19 ansible]$ cat deploy2a.yml
---
- hosts: dev
tasks:
- name: install package
ansible.builtin.dnf:
name:
- php
- mariadb
state: latest
[deyu1@kvm19 ansible]$ 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