1.jinja2简介
Ansible将jinja2模板系统用于模板文件。ansible允许jinja2模板中使用if条件判断和for循环,但是不允许在playbook中使用
基本语法
1.{
{ EXPR }}输出变量值,会输出自定义的变量值或facts
2.playbook文件使用template模块
3.模板文件里面变量使用{
{名称}},比如{
{PORT}}或使用facts
4.{% EXPR %}用于表达式或逻辑(如循环)
5.使用{# COMMENT #}为注释不会出现在最终文件中。
{
# 注释行 #}
{
{
ansible_facts['default_ipv4']['address'] }}
2.创建jinja2模板
1.编辑playbook
---
- hosts: all,localhost
tasks:
- name: 复制文件
template:
src: files/io.j2
dest: /etc/hosts
2.准备io.j2模板
{
{
ansible_facts['default_ipv4']['address'] }} {
{
ansible_facts['hostname'] }}
结果如下:
<