jinjia模板是在ansible中建立的一類模板檔案,通常以.j2結尾標識。模板的內容含有多個變數,使原本固定的某個檔案配置,通過引數的改變,變得可以復用,提高了使用效率。
模板的組成:
模板一般由多個元素組成,包含:資料、變數、表示式
變數:通常在play中的vars中進行標識,
表示式為: {% %} 表示式或者邏輯;{{}}最終向使用者輸出表示式的結果; {# #}注釋。
模板的示例:
##更改apacha配置檔案為模板
##更改埠
port 22 ====> port }
##更改root登入許可權
permitrootlogin yes ====> permitrootlogin } ##變數可在play中設定和使用
3.1 部署jinjia模板
##模板使用
tasks
- name: template
template:
src: /mnt/jinji-template.j2
dest: /mnt/dest-config-file.txt
3.2 迴圈控制
##迴圈控制
## 1
##user為變數,迴圈users內的所有內容
}## 2
##myhost為變數,迴圈groups.myhosts內的所有內容
}## 3 條件語句
##條件為真,才執行result
}
jinjia中的迴圈控制只能在模板中使用,不能再playbook中使用;
3.1 變數過濾器
##變數過濾
} ##以json格式輸出}
} ##對json格式的字串進行解析
}
4.1 建立模板
##建立模板
1 this is the system }
2 this is a } version
3 } system.
4 system owner is }.
4.2 模板呼叫
##呼叫模板
1 ---
2 - name: jinjia2
3 hosts: all
4 vars:
5 - system_owner: [email protected] ##變數註冊
6 tasks:
7 - name: template
8 template:
9 src: example.j2 ##模板呼叫
10 dest: /mnt
11 owner: root
12 group: root
13 mode: 0644
4.3 結果顯示
在受控主機檢視是否產生檔案
Flask中的Jinjia2的使用(二)
主要包含兩個 if else if else endif for endforif語句 jinja2 語法中的if語句跟 python 中的 if 語句相似,後面的布林值或返回布林值的表示式將決定 中的哪個流程會被執行 logout logout a login login a 過濾器可以被用在 i...
ansible中的變數
ansible中變數的優先順序 命令列中的變數 yml檔案中的變數 roles目錄下vars目錄中的變數 roles目錄下default目錄中的變數 變數寫法 1.命令列變數 ansible playbook i hosts host playbooks echo.yml e key ooo val...
Centos中的ansible安裝
ansible簡單的說是乙個配置管理系統,只需要在管理伺服器上面安裝,就可以通過ssh遠端管理你的其它裝置了。客戶端機器上面需要有python2.5及以上環境,且不支援windows。ansible的使用場景非常廣泛,比如我們需要將乙份檔案拷貝到100臺伺服器,我們只需要呼叫ansible的copy...