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-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南