Php CMS可以由Git存储库提供动力吗?

Php CMS可以由Git存储库提供动力吗?,php,git,github,content-management-system,Php,Git,Github,Content Management System,不久前,我为我的一个客户制作了一个一次性CMS,但是它足够强大,我再次在许多其他项目上使用它。现在我需要管理它,我希望能够通过一次更新更新所有部署 我想知道我是否可以让CMS只包含来自GitHub存储库的文件。有办法做到这一点吗?比如: <?php require('URL TO MEDIA UPLOAD MODULE AT GITHUB'); require('URL TO PAGE MANAGEMENT MODULE AT GITHUB'); //etc... ?> 最

不久前,我为我的一个客户制作了一个一次性CMS,但是它足够强大,我再次在许多其他项目上使用它。现在我需要管理它,我希望能够通过一次更新更新所有部署

我想知道我是否可以让CMS只包含来自GitHub存储库的文件。有办法做到这一点吗?比如:

<?php

require('URL TO MEDIA UPLOAD MODULE AT GITHUB');
require('URL TO PAGE MANAGEMENT MODULE AT GITHUB');
//etc...

?>

最终,CMS将针对多种不同的业务类型(房地产、零售产品和服务等)提供许多不同的模块,这些模块将根据针对特定部署需求列出的模块包括在内

我只想将所有内容存储在一个地方,并在提交对repo的更改时更新每个部署


这可能吗?如果没有,有什么建议吗?

我不知道如何在Github上存储文件

然而,我有另一个建议来实现你的目标:

如果您的项目位于同一台服务器上,并且您对该服务器具有root访问权限,那么您可以将核心文件放在一个位置。通过符号链接,您可以让项目使用同一目录。您将永远不必再次部署,因为您只需更新1组文件


只需确保除了核心文件之外,还有一种存储/加载模板和单个用户设置的方法。

确实是这样,但不是像您所想的那样。持续集成是一个您可以研究的主题。这不是一个很好的设计,但您很可能通过混搭和提交来实现这一点。您最好更新您的
CMS
,以便根据版本和下载情况检查新版本。因此,更好的方法是在某个地方托管“主机”,并在部署的CMS上每晚运行一个CRON作业,以根据主机检查版本?然后呢?只需将每个模块放在一个静态URL上,并获取更新后的主模块的内容即可。我建议在github上存储一个通用的配置文件,然后在CMS的每个新实例中插入一个git。这样一来,内部代码/函数/包含/要求保持不变,但自定义配置则不同。无论如何,我认为每个客户的配置都应该改变。我曾经使用一个名为“config.changeme.php”的主配置,我在git中跟踪了它,然后,一旦拆下,使用shell来执行
mv config.changeme.php config.php
,在代码中,它需要config.phpI,我之前已经考虑过这类事情,下面是我的计划。正如你所说的,在某个地方托管“主机”,并在每个CMS的签入中都有一个cron。如果他们从过期的版本签入,您会将URL发送回它需要的更新。这个URL只是一个zip文件,包含与CMS相同的结构。它下载它,在其中循环,然后交换它在其中找到的所有文件。如果您的系统是付费的,那么在签入时,它应该向您传递一个生成的密钥,您可以使用该密钥加密更新的文件(如果需要)。