ansible-playbook简单使用

这边以一个例子简单介绍一下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内容为

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"

推荐阅读更多精彩内容