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

 

posted @ 2020-07-27 21:20  明天OoO你好  阅读(268)  评论(0编辑  收藏  举报