快捷搜索:  汽车  科技

自动化部署工具java(自动化部署工具)

自动化部署工具java(自动化部署工具)

自动化部署工具java(自动化部署工具)(1)

一、Playbook 介绍
  • Playbook可以运行多任务,比直接使用Module能实现更强大的功能。
  • Playbook和roles都使用yaml文件格式。
  • Playbook里包含一个或多个play,每个play中定义task。
  • 可以理解为Playbook就是通过task调用module的集合。
二、Playbook的关键概念
  • Hosts 受控主机
  • Tasks 任务集合
  • Varniables 内置变量或自定义变量
  • Templates 模板
  • Handlers,和notity结合使用,定义触发条件
  • tags 标签,标记Playbook中的一段代码
三、Playbook语法
  • playbook 使用yaml格式,文件扩展名为yaml或yml
  • 在一个playbook文件中, ---用来区分多个play。
  • ...用来表示一个play结束(可以省略)。
  • 缩进是严格、有意义的,不能随便混用。
  • #表示注释
  • yaml中主要定义方式是键值对,使用:分隔;值可以同行或换行写。
  • 冒号后、值前要有一个空格。
四、一个示例说明1. /etc/Ansible/hosts设置

[webs] jenkins ansible_ssh_host=192.9.200.182 122. playbook.yml

--- # 固定格式 - hosts: jenkins # 定义需要执行主机 remote_user: root tasks: - name: append shell: echo `date "%Y-%m-%d %H:%M:%S"` begin >> /home/a.log

以上示例向目标主机的/home/a.log写入当前时间。

目标主机执行结果:

自动化部署工具java(自动化部署工具)(2)


执行过程:

自动化部署工具java(自动化部署工具)(3)

3. 执行一个shell的示例

--- # 固定格式 - hosts: jenkins # 定义需要执行主机 remote_user: root tasks: - name: execute app shell: bash /opt/run_app.sh4. task示例,添加自启动

- name: autorun lineinfile: dest=/etc/rc.d/rc.local line="bash /opt/run_app.sh"5. task 示例,拷贝文件

- name: copy run script shell: cp /home/run_app.sh /opt/6. task示例 service

# 启动 - name: Start nginx service: name: nginx state: started # 重启 - name: Reload Nginx service: name: nginx state: reloaded

猜您喜欢: