最好的方法是使用一个基本的网站框架,可以被其他网站引用


Best method to use a base website framework that can be referenced by other sites

我目前正在寻找一种更有效的方法来开发网站在我的工作场所。我们托管超过150个网站,所有网站都有不同版本的主网站和CMS框架。一个新网站往往是复制和粘贴我们认为是最新版本的工作。不用说,这样做会占用大量的空间,而且对于我们想要在所有网站上进行的更新来说效率极低,更不用说混乱了。(别怪我,我是新来的,只是想把事情整理一下!)

我最初的想法是在我们的服务器上创建一个基本框架,包含所有通用文件,如PHP类,函数等。然后每个网站都可以简单地提取这些文件,只需要一些包含文件来进行提取,任何非通用变量(如数据库凭据)和其他非通用文件(如样式表等)的配置文件。

这就产生了一个问题,当对基本框架中的通用文件进行更新时,一个错误将杀死使用该文件的每个站点。我最初的想法是某种形式的颠覆,允许我们在必要时提交和回滚更新,增加一点犯错的空间。然后我们可以对测试区域进行更新,检查它是否正常,然后将更新提交到主存储库。

我们的服务器运行的是Linux Red Hat Enterprise 5.3,我认为仅仅使用svnserve不允许我们直接引用存储库中的文件是正确的吗?最好的方法是什么,或者是否有更好的方法来提高效率并减少磁盘空间?

脚本化部署系统可能是有意义的。例如,创建一个可以签出存储库副本的shell脚本,然后将其复制到目标。你可以给它一个特定的版本号作为参数,这样你就可以回滚到以前的版本。

有完整的框架围绕着这部分构建,但是如果你可以从一些自制脚本开始,你可能会更适合理解这些。

如果你没有subversion的具体经验,我建议你尽量以git为基础。它在很多方面都要好得多,尤其是在速度上,它正迅速成为事实上的工具。