惭愧说来之前我也是FTP上传 然后登录WEB服务器重新发布 因为有几台服务器在使用 弄起来也老费劲了 某天调试一个BUG 以为OK了 然后全部服务器更新 然后发现又有问题。。。郁闷只有再修改 然后觉得OK了再来一遍。。。如此搞了三遍觉得太麻烦了 不能忍 然后就GOOGLE了一下 果然还是有好办法的
以下并不是什么高深的技术 只是个知识或者说思路 从查到资料到架构完成很快就搞定了 实现起来虽然简单 但是弄好了对工作帮助确实很大 算是启发一下正好也没想到的亲们 好了说正题
一、网站自动发布
原理:利用GIT 实现自动更新
实现:因为网站并不能拉取 所以必须要增加一个服务器后台执守程序 由后台执守定时获取版本号 发现版本号变更了 即自动拉取新代码 并重新发布网站即可
从此以后只需要更新一下版本号 所有WEB服务器即可自动更新到最新代码了
BTW:GIT源建议使用coding.net 执守嘛PYTHON即可 版本号我是用API不想用服务器的话随便用个TXT也行的
二、C/S客户端自动更新
基本相同 但是因为客户端程序并不能自己更新自己 所以我是采用了增加个专门的守护程序 不光是能控制自动更新 还能监控到客户端程序异常错误或退出后自动重启目标程序
实现:目标程序启动时 检查版本号 如果版本号变更了 目标程序自行关闭 并设置一个开关 由守护程序下载并更新目标程序 然后重启目标程序
BTW:与服务器自动更新不同 因为客户端会有比较多的实例在运行中 如果还按定时获取版本号可能给服务器带来比较大的不必要负担 所以这里设置为启动时检查
另外CDN也要收费的 目标程序可能只会更新一二个DLL 获取版本号时顺便获取更新列表 可以实现部分更新
网友评论