基于Ansible和Devops的一键测试环境部署实践
转载本文需注明出处:微信公众号EAWorld,违者必究。 随着网络架构的不断升级和业务的复杂化,对产品多环境支持的要求越来越高。产品支持的数据库、应用服务器、中间件、操作系统等的多样化,使测试环境的组合越来越多,导致测试环境的部署难度不断增加。 如何选择一个合适的工具,实现多样化环境部署的同时保证部署操作的易用性。下面分享一下我们基于Ansible和Devops实现的一键式测试环境部署的过程。 Ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(Saltstack、puppet、chef等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块工作,具有丰富的内置模块,同时也支持自定义模块开发 1。以下是对Ansible和其他常见运维工具的对比2 : 而ansible在自动化运维过程时具有如下优势: 1.基于模块运行,有丰富的内置模块支持 2. 基于Python开发,方便二次开发 3. 基于SSH 交互,被管机器不要安装 Agent 4. 无Server,在任何安装ansible的机器上执行命令即可 5. 脚本用YAML编写,易读和易维护 正因为ansible操作简单、易上手,功能丰富,已被很多公司纳入使用。 Ansible主要有ad-hoc和playbook两种执行方式,Ansible Ad-hoc是一次性命令