Playbook特殊用法
2021/7/24 6:11:27
本文主要是介绍Playbook特殊用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
playbook语法变化
- YAML注释
注释可以用于提高可读性,在yaml中 编号或井号字符(#)右侧的所有内容都是注释,如果注释的左侧有内容,请在该编号符合前面加个空格
# 注释内容 编辑内容 编辑内容 # 注释内容 (不建议使用这种注释)
- YAML字符串
YAML中的字符串通常不需要放在引号里,即使字符串中包含空格。字符串可以用双引号或单引号括起。
编写多行字符串有两种方式。可以使用管道符表示要保留字符串中的换行字符
- name: apache配置 hosts: apache tasks: - name: 添加虚拟配置文件 lineinfile: path: /etc/httpd/conf.d/httpd-vhosts.conf line: | <VirtualHost *:80> DocumentRoot "/var/www/html/" ServerName example.com ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.47.129:9000/var/www/html/$1 <Directory "/var/www/html/"> Options none AllowOverride none Require all granted </Directory> </VirtualHost> create: yes
要编写多行字符串,还可以使用大于号字符来表示换行字符转换成空格并且行内的引导空白将被删除。这种方法通常用于将很长的字符串在空格字符处断行,使它们跨占多行来提高可读性
[root@master playbook]# cat ll.yml --- - hosts: apache gather_facts: on tasks: - name: lineinfile: path: /opt/ll line: > wqts yyds sssxxhhjkk create: yes
- YAML字典
简单的字典形式:
name: test svcservice: httpd svcport:80 字典也可以使用以大括号括起的内联块格式编写 {name: test,svcservice: httpd,svcport:80}
大多数情况下应避免内联块格式,因为其可读性较低。不过,至少有一种情形中会较常使用它。当playbook中包含角色列表时,较常使用这种语法,从而更加容易区分play中包含的角色和传递给角色的变量
- YAML列表
简单的列表
hosts: - servera - serverb - serverc 以中括号括起的内联格式, hosts: [servera,serverb,serverc] 避免使用这种形式
- 过时的“键=值”playbook简写
某些playbook可能使用较旧的简写方法,通过将模块的键值对放在与模块名称相同的行上来定义任务。
例: tasks: - name: 安装 yum: name=httpd state=present 通常我们应该将该语法编写成这种形式 tasks: - name: 安装 yum: httpd state: present
通常我们应避免简写形式,而使用普通形式。普通形式的行数较多,但更容易操作。任务的关键字垂直堆叠,更容易区分。阅读play时,眼睛直接向一扫视,左右运动较少。而且,普通语法是原生的YAML。
这篇关于Playbook特殊用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南