我正在KohanaPHP框架中编写一个小应用程序。假设这个应用程序将来会有一些更新。例如,当前版本为v1.0。
什么是最好和最优化的方式:
- 检查是否有新版本
- 如果是,则从远程服务器更新当前服务器中的文件
到目前为止,我使用cURL在远程文件中获取信息表单version.txt文件,然后将其与应用程序引擎中的常量变量进行比较。然后我用https://github.com/kanema/kohana-ftp与服务器连接并更新应用程序的模块。
有没有更好的解决方案,尤其是在检查更新方面(使用version.txt有点烦人,需要一些时间)。
- 使用一些版本控制系统,如Git
- 使用一些更新脚本,这些脚本检查当前版本(生产版本)是否与远程存储库中的版本(最新版本,在您进行更改时更新的版本)相同,如果版本不同,则更新生产版本
- 从第2点调用脚本。例如使用cron
这将是最快的(基于Git内部机制)解决方案,非常可靠(您将使用版本控制系统),并且非常安全(您不会覆盖用户上传的文件)。
互联网上有一些这样的工具的例子。
还有一些使用cron jobs从Git存储库中提取最近更改的例子,点击这里:stackoverflow.com/questions/4441140/Git-auto-pull-using-cronjob
或者,只有当存储库中的版本被推送到存储库的人更改时,您才能使用所谓的"服务挂钩"来调用更新脚本(例如,GitHub中提供了该功能)。
这取决于您的平台。我个人使用/支持Linux,并使用软件包(例如,deb用于基于Debian的系统)捆绑、安装和更新我的应用程序/服务。