我有一个网站,我定期更新代码.我把它保存在版本控制中.当我想部署新版本的站点时,我会进行导出,然后将服务目录名称符号链接到部署目录.
用户可以上传文件的地方,我注意到,在我部署了新版本之后,用户文件就消失了!当然,我没有将它们添加到存储库中,并且由于服务的站点来自导出,因此它们无论如何都不会上载到版本控制的目录中.
PHP还没有集成的svn功能,所以我无法以编程方式对用户上传的文件做太多工作.我的解决方案是创建一个额外的网站files.website.com,它位于服务网站的并行目录中,并且是在受版本控制的目录下提供的.这样,当我升级到网站时,它们不会被删除.我不时手动将上传的文件添加到svn项目,删除用户删除的文件,并提交新版本.我正在研究一个从cron运行的shell脚本来做这个,但这不是我的强项,因此它不是迫切的需要.
解决方法:
我通常不会在svn中保留用户生成的数据/文件.只有代码,db schema / test数据.我通常要部署的是来自最新工作副本的rsync,它排除了上传目录和.svn dirs. IMO内容应由更传统的文件系统/ db备份机制处理,而不是版本控制.
编辑:
要明确你的符号化策略似乎是一个很好的做法.你错过了它想到的备份部分.我可能只是焦油gzip在cron作业中上传的东西,而不是与SVN交互.然后可能有一个单独的使用MysqLdump来转储db和gzip.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。