每一次重装系统或者是需要在服务器上正确运行软件,我们都需要重新安装所有的package、dependency并进行相应配置的微调。而这一过程可能就会因为疏忽导致错误,因此需要自动化部署
持续整合,持续交付(CI/CD)的实践,我们能够周期性的对产品进行各种专业测试,如果出现问题我们也能快速找到发生问题的最近位置。同时我们还能进行报表分析和自动通知等其他操作
Ansible
ansible就是这样一款主流的自动化部署工具,要通过ansible在被控节点(managed node)上配置环境,我们需要安装Pyhton然后通过SSH连线。
安装过程
Ansible当中,所有机器分为以下两类:
- 控制主机(Control Machine): 这类主机能通过Ansible的playbook(剧本)对被控节点进行部署
- 被控节点(Managed Machine):又称Remote Node,这类节点就是我们通过Ansible进行部署的对象
值得注意的是,Ansible并不用安装在被控主机上,只需要保证能通过SSH与Control Machine沟通就可以了
playbook
我们使用playbook,这一由YAML编写的程序,来告诉Ansible需要做什么。
---
- hosts: server
tasks:
# task 1
- name: test connect