没有时间写一个完整的功能答案(我有点of脚),但无论如何可能值得分享(我可能会编辑它,因为我也计划在此发布博客):
这意味着您可以具有一些基于主干/版本分支的WP设置,可以完全破解包括。主题和插件。
由于这是一个独立的(本地)存储库,因此可以通过ssh将其推送到其他存储库,例如:
- 它位于应该在(裸仓库)上部署站点的远程主机上。
- 这具有使该主机上的另一个存储库实际上合并到您刚刚推送的更改中的钩子。
在针对Web的Git工作流程(2008年11月; Joe Maller,作者)中对此进行了概述。
然后,如果您有一个配置切换器,wp-config.php
根据其运行的系统来选择具体设置,则您甚至可以集中配置存储库中的所有主机(开发,实时,暂存,好友等)。
您只需在子树中获取并合并WP中的上游更改即可。
您只需更新并提交插件。
部署很简单$ git push remote
。
在git仓库,数据库和上载的文件的远程主机上运行每日备份,这很便宜,对开发人员友好且灵活。这对于单个开发人员设置以及小型团队来说都非常有效,因为每个人都可以从远程的裸露副本中检出。
有一些警告:
现在,使用您的清单和上面概述的设置:
1.想要在我自己的服务器上内部安装git环境,而不使用Github处理存储库。
Github仅在此处处理上游存储库(Wordpress),而不是您自己的。
2.在git分支创建后自动创建子域(development.domain.com,ryan.development.domain.com)-可能需要一些shell脚本钩子来实现。
概述的设置是一种模块化方法,每个站点一个仓库。它可以处理任意数量的开发主机,也可以在多站点安装中很好地处理多个域,但是在这种方法中,这可以视为一个wordpress设置。
3. Phing PHP / Shell脚本db迁移的处理(类似http://interconnectit.com/products/search-and-replace-for-wordpress-databases/),以在推送时处理序列化数据库替换
这里不需要这样做,因为仅代码处于版本控制之下,数据库在开发(,登台)和生产之间应该保持独立。
您可能正在寻找一个可以正确执行域迁移的安装脚本,但是即使使用了更好的代码(可用的)来处理序列化数据的搜索和替换,在这里的这种设置通常也没有必要,因为您只需将更改付诸实践即可。 ,对于测试用例,您可以在开发数据库中快速创建内容,这通常是最小的问题(根据我的实际经验,您可能会有所不同,但是我也建议您将有关数据库迁移的主题保留在以下问题上:在网站上拥有-但请询问他们)。
我在自己的服务器上运行了约200个站点,并希望开始将这些站点实施到强大的git工作流环境中,以便更好地简化工作。
我无法想象那些站点将在字符串git工作流环境下变成怎样。您在此处管理的配置脚本和配置数据也许会保留在git版本控制下。那可能是有道理的。否则,由于站点数量庞大,我认为将所有站点都保留在一个git repo中根本没有任何意义。也许甚至都不是其中之一,因为我上面概述的是针对您开发的站点(包括WP核心代码)的,而不仅仅是针对安装任务的。因此,您可能首先需要为自己创建这200个站点的小地图,以及它们如何彼此交互以及这些站点包含哪些软件包(WP核心,插件,主题)。第一件事可能是创建电子表格/矩阵并将所有网站放进去。
然后,您可以将其保存为CSV,将其置于版本控制下,并使部署脚本根据该文件执行其工作。
而且,如果我从自动化任务中学到了一些知识,请执行以下操作:遵循Unix的哲学,使用现有且运行良好的工具(最好花半天时间阅读一些命令,然后尝试寻找替代方法,因为对于大多数工作而言,问题是已解决),并专注于命令行工具。他们是最强大的。