揭秘一行代码完成千台服务器自动升级部署

service_publish.png

核心思想

服务器利用crontab定时任务去每分钟跑一个shell脚本,shell脚本的任务是打开服务器项目目录,pull 一下www分支下的代码。ok,自动化部署完成。而触发这个事件,你需要键入的一行代码就是将本地www分支上的代码push到远程www分支即可。

正常开发流程可能会有dev,test,stage,www四个环境。
dev环境是开发环境,test测试环境,stage预发布环境这三个环境分为一类,称为线下环境。另一类就是线上环境了。

首先,在git上先为各个环境拉出对应分支。dev,test,stage,www四条环境分支。我们小伙伴开发在master分支上,当需要对接口的时候,我们切换到dev分支merge掉master分支。然后将本地的dev分支推送到远程的dev分支上去。此时,crontab定时器跑任务时候,会把远程dev分支的更新pull下来。而pull下来的代码此刻就完成了服务器代码的更新部署操作。同样的姿势,你可以在test及stage环境下操作。

但是,线下操作与线上操作不能同样对待。毕竟上线代码不是每个小程序员都有的权力。可以在push到远程www分支时候设置权限,每一个pr都要主管同意才能push成功,从而达到安全性的把关。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,734评论 4 54
  • 《大话西游之爱你一万年》开播后,吐槽频频,却是掀起了一番回忆潮。像李连杰《功夫之王》里的帅悟空,还有甄子丹《西游记...
    静羽明海阅读 276评论 0 1
  • 哭 因为你觉得自己已经糟糕到无可救药 笑 因为除了笑 你不知道还应该做什么才好 哈哈哈哈哈哈哈 看来 我是个天生的...
    季鹭阅读 231评论 0 0
  • 这周培训比我之前想的要紧凑,内容也更多。其实之前决定来也是因为会有一个系统的培训。但可能还是因为很多年没有参加过培...
    小末0102阅读 903评论 0 0
  • 以前的经验对, 对现在来说, 不一定对, 改革, 与时俱进. 巴菲特说:“我不会花一秒钟去改变任何一个人,除非他自...
    工匠良辰阅读 159评论 0 0