利用rsync实现自动化部署的一种方案

之前在做项目的时候,为了提高开发效率,让开发人员专注开发而不需要特别关注代码部署问题,因此,自己开发了一个简易的自动化部署系统,服务于几个项目部署。在这里分享出来,供参考。整个系统架构如图1所示。

利用rsync实现自动化部署的一种方案_第1张图片

图1 自动化部署整体架构

下面简单描述一下整个架构。

1、整个架构中,开发人员只专注git版本库的维护。

2、每次Git Push到Master时,触发Git Hook,Hook调用API创建部署任务。

3、中心机的Crontab定时请求API获取待处理任务列表,并触发处理部署任务。

4、中心机根据部署任务信息,获取对应的Git版本仓库源码,利用rsync实现中心机向各服务器集群Master主机进行目录同步。

5、每个集群的Master主机定时执行各集群下的从服务器的目录同步。

从整个过程,我们可以看出,关键的部署机制其实是利用rsync实现服务器主从目录同步。具体的目录同步方法请访问我的gitHub:rsyncdir,里面有详细的文档。


你可能感兴趣的:(系统运维)