ansible中的变量
ansible中变量的优先级:
命令行中的变量 > yml文件中的变量 > roles目录下vars目录中的变量 > roles目录下default目录中的变量
变量写法:
1. 命令行变量:
ansible-playbook -i hosts/host playbooks/echo.yml -e "key=ooo value=cccccc"
2. yml文件中的变量
- name: set fact set_fact: key="11111" - name: set fact set_fact: value="22222"
3. roles目录下vars目录中的变量
--- # vars file key: "I'm test key" value: "test value"
或
{ "items": { "key": "1111", "value": "2222" } }
4. roles目录下default目录中的变量
--- # default file key: "I'm test" value: "test value"
5. 变量文件定义
cat vars.yml var1: httpd var2: nginx
cat task.yml --- - hosts: web remote_user: root vars_files: - vars.yml tasks: - name: create httpd log file: name=/app/{{ var1 }}.log state=touch - name: create nginx log file: name=/app/{{ var2 }}.log state=touch