我看到Git和Wordpress经常在这里讨论,但我没有找到我的具体问题的任何答案,所以我将打开一个新的问题。
为了稍微熟悉一下git,我想将其用于我的个人wordpress博客。我的设置:
每次我通过FTP将bitbucket推到我的Web主机上时,本地Wordpress安装都会自动部署(没有机会在那里安装git,我使用buddy)到目前为止,它工作正常,我可以修改我的东西,编写插件等,并将其推送到主机。我写了一个小脚本来不时更新我的本地dbs,以便对我的本地安装有新的评论等,这也很有效。
但我如何处理插件/wordpress核心更新?如果git(我认为)将它们直接应用于主机上的生产环境,会破坏整个想法,因此我禁用了自动更新。但如何继续?
本地安装更新,提交更新并将其推送到repo+主机?那么db的变化呢?wordpress/插件更新是否会改变数据库中的某些内容?我想是吧?
将它们安装到我的主机上,然后通过FTP下载所有内容,再次提交和推送(听起来很多余,不是我喜欢做的)?
您如何处理这个问题?还是我的设置在某种程度上完全错误?
最合适的回答,由SO网友:Rarst 整理而成
我会这样制定您的要求:
存储库应捕获站点的完整和精确状态,更新应在本地进行测试,并将其推送到生产环境中,数据库更新事件应在生产环境中可靠运行,仅使用Git,这确实意味着您需要在本地安装更新并将其提交到存储库中。
至于数据库更新,WordPress core本身会更新数据库结构,并在引导时检查它。如果在访问网站管理员时数据库已过时,系统将提示您执行更新。我认为,更繁忙的网站往往会选择覆盖这种行为,转而在后台按需运行。
这通常会留下一些特定的插件来检查它们是否使用自定义数据库表等。这在WP扩展中并不常见,大多数扩展都使用本地WP数据结构和api。
至于可能的改进,我建议研究Composer并将WP core作为依赖项处理。这将消除在回购协议中保留整个WP core副本的需要。