这边以一个例子简单介绍一下playbook。
示例目的:指定一个主机名,对这个主机进行配置操作。
1.先展示目录结构
config-ansible
|___config_hosts.yml
|___roles
|___tomcat
|___file
|___tomcat软件包
|___tasks
|___main.yml
|___config.yml
总共3个YAML文件,其中config_hosts.yml为总入口,在这个文件里调用roles/config_hosts/tasks目录下的脚本。执行命令ansible-playbook config_hosts.yml 运行剧本。
2.config_hosts.yml内容为

第1行表示该文件是YAML文件,非必须。
第2行定义该playbook针对的目标主机,可以传参数
第3行定义执行playbook的用户
第5、6行指定角色目录,具体操作在角色中定义,可以传参数
3.main.yml的内容为
1. ---
2. - include: config.yml
第2行指定此roles要导入的task文件。
4.config.yml的内容为
1. ---
2. - name: copy test
3. copy:
4. src: /home/app/test
5. dest:/home/app/test
6. owner: app
7. group: app
8. mode: 0777
9. force: yes
10.
11. - name: exec script
12. script: /home/app/ceshi.sh
13.
14.- name: rm test
15. file: path=/home/app/test state=absent
或者可以将config.yml的内容直接在main.yml中写入!可以不用config.yml这个文件
5.执行playbook
#ansible-playbook /etc/ansible/tomcat/deploy/site.yml -e "server=$JOB_BASE_NAME role=app"
#ansible-playbook ~/config-ansible/config_hosts.yml -e "server=服务名 role=tomcat"
网友评论