简易发布系统实现过程

1.为方便以下在同一台机器完成,但在真实环境,可以通过ssh等工具实现不同主机之间的代码同步

2.文件目录说明
    a.源码宿主机源码地址
    b.目标主机rsyn地址(源码rsync的目标地址)
    c.目标主机备份地址(主要记录上一个版本的源码)
    d.生成环境地址

3.主要工具
 rsync、php、git

4.主要步骤
 (1).获取任务锁,获取失败退出
 (2).源码更新最新代码,(如果是git, 可以通过 exce("cd srcDir;git pull 2>&1") )
 (3).通过rsync,将源码推送至目标主机rsync地址
 (4).以备份代码为准,与rsync目录中的代码做比较,找出差集并记录在一个文件中
 (5).通过rysnc,将rsync地址代码推送的备份地址
 (6).将备份代码推送到生成环境(这里rsync命令不删除不存在的文件。这是与上面rsync目录的区别,也是d步骤的目的)
 (7).从生成环境代码中,删除差集文件
 (8).释放任务锁

5.其他说明
 (1).为什么直接从源代码rsync的生产环境代码?
    a.主要是保持生产代码的干净,完整。同时不受rsync错误影响。 
    b.通过rsync文件作为过渡,进行一些额外工作,而生成代码始终保持的是最终代码。
 (2).在 "备份代码推送到生成环境" 时,为什么不通过 --delete 删除文?
    a.生产环境中有些文件不是通过发布系统中发布的,而是直接再服务器中编辑生成,具有特殊作用。如果通过rsync --delete,会删除这些。
 (3).为什么引入备份?
     a.保存上一个版本,对于回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值