(给前端大全加星标,提升前端技能)
转自:掘金-忙碌的豆己
前言公司之前更新前端代码需要远程到服务器后,将对应打包好的项目代码复制到目录中去。在更新频繁的时候,中间所浪费的无用时间就变的很多,加上回退版本还要涉及到备份的操作,多服务器的时候还要记住密码账号等等等操作就会觉得繁琐。再加之人员众多,服务器的安全性也无法得到保障。遂计划开发出一套前端版本控制的解决方案。经过一整年,3个大版本的迭代,最终完成了正式的1.0版本。包括版本上传,切换,测试,上线,删除,备份等功能,很好的解决的公司内部问题。在这里分享出我自己的三个版本的思路(仅有思路以及部分代码),有不同想法和各种建议欢迎讨论~
版本1-基于git和nodejs最开始的想法很简单,既然git在版本控制的方面做得很好,那么以它为核心去构建一套系统就成为了第一种解决方案。
一、思路创建一个用于放置打包好文件的git项目在本地和服务器端都拉取该git本地项目更新打包后,提交git,在服务端的git接收到更新的指令后,进行拉取,完成更新。二、知识点githook(git操作会触发的钩子函数)nodejs三、坑正常情况下,git的钩子post-receive在接收到更新的时候会触发,利用这个钩子在进行gitpull就可以完成更新,但在windows下无法正确触发(这点不知道为何,希望了解的大佬能科普下,球球了)
四、具体实现由于坑的原因,不得不换一种思路,好在git钩子中的pre-push(git提交)能够正确触发,那么在服务器搭建一个node服务用于接收请求后到对应的目录gitpull。
1.本地githook(pre-push)采用curl命令直接模拟请求,但windows的cmd上不支持,所以要安装curl命令(具体方法:
转载请注明:http://www.0431gb208.com/sjszyzl/3.html